请问你还有 这个的源码吗,看到的比较晚,是否可以发一份给我呢,谢谢。 邮箱:anz130@hotmail.com
使用OenWay,查询操作只管提交,通过callback将查询结果发回来。
@[楼主]
谢谢你的耐心回答。
我也觉得原理上讲得通,我还是等项目定下来后,做个测试,如果不行的话,我在服务器那里写个宿主。
@褚建兄 :
呵呵,我对嵌入式程序非常不熟。
第一感觉是嵌入式程序可能不能直接调用Service,你看看能不能利用个什么中间介质来调用,如COM组件什么的。
纯属猜测,如有不对别见笑。
@褚建兄 :
是这样的啊。
WCF作为一种服务,遵循了标准的Soap协议的数据都是能接收的。
你需要把你嵌入式程序发出的数据做一下包装。
并且,不是像你问的那样,它发的数据可不可以使用C#的WCF接收。因为WCF基本上是对外提供服务的,所以你要自己调用它
@[楼主]
谢谢你的回答,你误会了,怪我问的不好,我的意思是:C写的嵌入式程序,它发的数据可不可以使用C#的WCF接收?
@褚建兄
你是怎么打算的?
>可不可以在C#中使用WCF与服务器进行通信?
这句话我不是太明白,是不是想把WCF部署到服务器端直接和C++嵌入式程序直接交互,然后客户端C#调用WCF?
这样的话应该是可以的,也算是典型的分布式应用
想请教个问题,我现在正在做一个项目,服务器端是个用C++写的嵌入式程序,客户端用的是C#,请问:可不可以在C#中使用WCF与服务器进行通信?
re: Net Framework全部源代码下载 cgagoal 2008-12-27 23:39
这里有一个可以下载的,是CSDN一朋友的,共5个部分,30多m,不过解压后就有200多m了,有朋友要的可以去下,
http://xiangshuiyixi.download.csdn.net/
计算机要完成通讯,大体上要有这样一个模型
1) pc1 - > pc2
2) pc1 < - pc2
pc1向pc2发送数据,这个操作可能是客户端请求服务端(send request),也可能是服务器响应客户端(send response),pc2接受数据,也可能是两种操作,接受请求或者接受响应,那么1)中包括2种操作send - receive,2)中同样包括2个操作,send ,receive.
所以你的那如果我有一个Service方法,接受一个DataSet,更新数据库后再将DataSet返回,这算是读操作还是写操作还是读写操作都有这个问题的答案应该是
你这个操作的设计是request/reply交互方式.这样一种交互存在2次交互
第一次 send request -> receive request
第二次 receive response <- send response
这样应该是send和receive都有的
----------------------------------------------
至于你第二个问题
比如在检索的过程中网络中断了(我是把网线拔掉测试的),这时候系统捕捉不到任何异常,一直到10分钟以后,但这种情况是客户所不允许的。
在目前的技术条件下,你这个问题似乎有点幼稚.
数据在传输过程中如果遇到网络故障,因为数据要经过一个异常复杂的物理网络,九曲十八弯的经过多个路由.如果在这个环节出现异常,无论是服务端还是客户端都是无法及时收到故障信号的. 因为这时候会陷入一个死循环,要想让其获取信号的必要条件是什么?是网络能通,但产生故障的结果又是要发送故障信号,这就自相矛盾了.所以ReceiveTimeOut和SendTimeOut才会非常重要.他的大小取决于你系统用户的忍耐度和容忍度,如果他不容忍,那就尽量设置的小一些,反之,就可以设置大一些.
,现在网络断了,就是出问题了,你就应该给我报错,
-----------------------------------------------
至于这句话,就更有些角色不正确了,时间大小由程序员来控制 .站在程序员的角度,这句是放屁.
如果站在用户角度,是可以理解的
Router,先注册SSO Server(Ice Wall) , WCF Server ,
动态修改SSO Server(Ice Wall)的ListenUrl,指向WCF Server就可以了..
@食草笨笨熊
我不太清楚icewall,但是我认为wcf的中转功能支持你说的借用路由权限。
如果只是简单的路由的话,RelieSession应该和引不引入中间方、引入的中间方的数量等无关吧。不过或许Icewall服务器并不是简单的路由。
@jillzhang:
使用了ClientVia之后,确实可以使用了,而且我看了IceWall的log,客户端对Service 的访问确实也经过了Icewall server中转。
我现在正在验证客户端和Service服务器还有无直接的通信。
另外还有一个重要的问题,那就是Client对Service的访问是经过Icewall的,它能否借用Icewall的权限。因为在客户的真实环境中,Client是没权访问Service服务器的,只有访问Icewall的权限,而Icewall具有访问Service服务器的权限。
你的环境很难模拟。
肯定和RelieSession有关系
可能是经过路由之后,无法再可信会话
@jillzhang:
多谢,我查一下看看,总比没有方向好:)
据我所知,你这样的一种设备架构,用到了WCF的路由功能,没有实际应用过,不敢胡猜。
Soap里面用于路由的关键是扩展属性via,你可以查询参考一下。