WinCE5.0移动平台开发笔记(Appdomain之间共享数据变量)
2010-05-16 16:05
691 查看
在项目开发过程中,因项目的需求,在客户端部署的两个.Net 应用程序需要共享一个变量,即:一个.Net应用程序设置了变量的值,那么在另外一个.Net应用程序中就能读取到设置的值。简单来说,需要跨不同的AppDomain来共享变量。
我们知道进程之间的通信有下面几种方法:
1.串口RS232通信(自己定义数据格式,通用性差,出错面临挑战)
2.Socket(自己定义格式,出错验证方面)
3.RPC(远程调用)
4.DCOM(分布式的组件)
5.Web Service
6.Remoting(远程对象模型)
7.WCF(新一代的SOA框架)
8.文件读取等(共享锁定,冲突等)
9.程序的命令行参数。。。。(启动程序时候传递)
10.MSMQ。。。
有很多的进程之间的通信方式,这就根据项目的需要和程序的运行环境来决定采取何种方式来满足项目的目的或要求。
最后我们在项目中决定采用Remoting来实现,有以下几个原因:
1.基于.Net 2.0的winform应用程序
2.开发的效率(Socket需要自己定义格式)
3.尽可能上的依赖其他资源(如文件)
而且使用Remoting技术本身就是.Net程序之间进行分布式的对象调用比较好的方法之一,而且配置方面,开发效率高。
补充:Remoting开发过程:
1、Remoting框架
代码
public static void Main(string[] args)
{
//使用TCP通道得到远程对象
TcpChannel chan1 = new TcpChannel();
ChannelServices.RegisterChannel(chan1, false);
ShareDataList obj1 = (ShareDataList)Activator.GetObject(
typeof(RemotingSamples.ShareDataList),
"tcp://localhost:8085/ShareData");
if (obj1 == null)
{
System.Console.WriteLine(
"Could not locate TCP server");
}
obj1.SetData("传递到另一个.Net Application一个值");//调用远程对象设置共享变量的值
Console.ReadLine();
}
通过上面的代码,客户端调用SetData()方法设置共享变量ShareData的值,那么在服务器端就可以直接获取到设置好的ShareData的值。这样就在技术上实现了,当然也达到了项目中的要求。
Best Regards,
Charles Chen
http://charles2008.cnblogs.com/
我们知道进程之间的通信有下面几种方法:
1.串口RS232通信(自己定义数据格式,通用性差,出错面临挑战)
2.Socket(自己定义格式,出错验证方面)
3.RPC(远程调用)
4.DCOM(分布式的组件)
5.Web Service
6.Remoting(远程对象模型)
7.WCF(新一代的SOA框架)
8.文件读取等(共享锁定,冲突等)
9.程序的命令行参数。。。。(启动程序时候传递)
10.MSMQ。。。
有很多的进程之间的通信方式,这就根据项目的需要和程序的运行环境来决定采取何种方式来满足项目的目的或要求。
最后我们在项目中决定采用Remoting来实现,有以下几个原因:
1.基于.Net 2.0的winform应用程序
2.开发的效率(Socket需要自己定义格式)
3.尽可能上的依赖其他资源(如文件)
而且使用Remoting技术本身就是.Net程序之间进行分布式的对象调用比较好的方法之一,而且配置方面,开发效率高。
补充:Remoting开发过程:
1、Remoting框架
代码
public static void Main(string[] args)
{
//使用TCP通道得到远程对象
TcpChannel chan1 = new TcpChannel();
ChannelServices.RegisterChannel(chan1, false);
ShareDataList obj1 = (ShareDataList)Activator.GetObject(
typeof(RemotingSamples.ShareDataList),
"tcp://localhost:8085/ShareData");
if (obj1 == null)
{
System.Console.WriteLine(
"Could not locate TCP server");
}
obj1.SetData("传递到另一个.Net Application一个值");//调用远程对象设置共享变量的值
Console.ReadLine();
}
通过上面的代码,客户端调用SetData()方法设置共享变量ShareData的值,那么在服务器端就可以直接获取到设置好的ShareData的值。这样就在技术上实现了,当然也达到了项目中的要求。
Best Regards,
Charles Chen
http://charles2008.cnblogs.com/
相关文章推荐
- iOS学习笔记-APP之间数据共享空间_APPGroup
- WinCE5.0移动平台开发笔记(c#中使用多线程访问winform中控件的若干问题(zt))
- iOS学习笔记-APP之间数据共享空间_APPGroup
- WinCE5.0移动平台开发笔记(XmlDocument.Load与OpenFileDialog对话框选择冲突引起的思考)
- C#开发学习笔记:C#中实现两个GridControl之间的数据拖拽以及同一个GridControl中的数据行上下移动
- WinCE5.0移动平台开发笔记(.Net主线程扑捉子线程中的异常)
- 免费移动电商平台核心功能介绍-APP开发 APP定制
- IOS开发笔记(2)页面之间传递数据几种方式比较
- 【移动开发多平台代码共享】
- Android才是移动APP开发最快的平台
- 不同平台DB2数据库之间大批量的移动数据(二)
- 移动开发多平台代码共享
- PHP移动互联网开发笔记(2)——变量及常量
- 跨平台APP开发--笔记
- windows笔记-在可执行文件或DLL的多个实例之间共享静态数据
- 使用共享变量实现主报表及子报表之间的数据共享
- 云风开发笔记 (6) : 结构化数据的共享存储
- iOS app之间共享数据的几种方法
- Spark 2.0大型项目实战:移动电商app交互式数据分析平台(大数据高端课程) 下载
- 我用DB2的这几年(七)之 不同平台DB2数据库之间大批量的移动数据(三)