是否有一种简单的方法发送使用C#的应用程序之间的对象?这些对象不总是相同的,例如会有一个“请求”和“响应”类,并且连接的每一侧都会有一种决定哪个对象已被接收的switch语句。简单的TCP网络与C#
是否有一种简单的方法可以在C#中实现这样的事情,而不需要第三方零件库?
是否有一种简单的方法发送使用C#的应用程序之间的对象?这些对象不总是相同的,例如会有一个“请求”和“响应”类,并且连接的每一侧都会有一种决定哪个对象已被接收的switch语句。简单的TCP网络与C#
是否有一种简单的方法可以在C#中实现这样的事情,而不需要第三方零件库?
WCF可以在这里工作,你只需要设置一个接口来描述你要传递的对象。这里是使用WCF for interprocess communication的好教程。
.NET远程确实或多或少你想要什么,你可以用你的接口类作为做“switch语句”类
http://msdn.microsoft.com/en-us/library/kwdt6w2k(VS.71).aspx
最简单的方式完成了原始的TCP连接这是为了创建一个由连接两端的应用程序引用的DLL。把所有的通信类放在这个DLL中,并标记每个类型为Serializable
。这使对象可以进行二进制序列化,因此可以很容易地转换成可以直接通过TCP连接传递的byte[]
。
如果你有一点flexbility你可能要考虑的东西有点较高水平,虽然像Remoting的服务或WCF
通过Tcp流进行序列化将是我Remoting的首选。而且WCF可能比这个操作要求的方式更加激烈。取决于整体使用情况,要求和/或期望。 – IAbstract 2010-01-30 22:22:22
如果不需要发送完整的二进制对象(逻辑指令)可以序列XML的请求和响应类并通过流发送文本。
“简单”的定义也取决于您的要求。内置功能(例如WCF)不会被分类为第三方库,因此提供了一种在C#应用程序之间安全发送对象的简单方法。 WCF可以为您自动生成代理,因此您只需定义数据合同并公开您的服务即可。你可以在visual studio中添加一个服务引用,并且这些方法是公开的。
我将重新迭代,它确实取决于你想要做什么,以确定最简单的解决方案是什么。
我总是试着将问题看作是在应用程序之间发送数据,而不是对象。分布式对象模型几乎总是以眼泪结束,因为你没有真的有共享状态。
这个解决方案确实快速且容易。 – Russell 2009-12-04 00:30:50