日期:2014-05-19  浏览次数:20905 次

两个应用程序之间怎样传递对象
程序用   C#   开发,我想通过程序   A   启动程序   B,并且   A   要传一个对象给   B,请问有什么方法可以实现?
我的做法是,在   A   中写以下代码:
        Process   process   =   new   Process();
        process.StartInfo.FileName   =   "C:\B.exe ";
        process.StartInfo.CreateNoWindow   =   false;
        process.StartInfo.Arguments   =   "AAABBB ";
        process.Start();
但是   Arguments   只能给   B   传递一个字符串,有什么办法给   B   传递一个对象呢?

------解决方案--------------------
可以使用其它通讯方式,比如tcp的remoting!
或中间数据储存,如临时xml文件等等。。。


Arguments只能是字符串
------解决方案--------------------
1.协议通讯
2。共享内存
3.文件
4.数据库
------解决方案--------------------
楼上正确,你可以存成一个文件,传文件名下去,再读一下

或许还可以考虑一种不安全的方法,共享内存段

再者,文件映射
------解决方案--------------------
Josion(游胆孤侠) ( ) 信誉:100 Blog 2007-03-27 11:49:14 得分: 0


序列化/反序列化??
楼上能否详细讲解下?


-------------------------------------------------------
有邮箱没,我给你发个例子,你就明白了
------解决方案--------------------
远程对象调用(也就是跨应用程序边界)有两种方法:
1。对象拷贝:序列化与反序列化
2。对象引用:Web service ,remoting