Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WCF-Compact Framework-从移动客户端提取数据_Wcf_Compact Framework_Client_Pull - Fatal编程技术网

WCF-Compact Framework-从移动客户端提取数据

WCF-Compact Framework-从移动客户端提取数据,wcf,compact-framework,client,pull,Wcf,Compact Framework,Client,Pull,我想将xml序列化对象从服务器传递到客户端,另一种方式则是。现在使用WCF从移动客户端(compact framework)调用方法(可能)很容易,但是有没有一种方法可以让服务器调用客户端的方法,或者以其他方式从客户端提取数据?我知道在compact框架中没有回调契约,您可以在这里看到: 最初我想到了socket编程并自己开发它,然后这里有人提到了WCF。但似乎WCF只能在非移动环境下工作,因为我需要回调 有人能帮我吗?是否可以使用WCF开发与桌面服务器和多个移动客户端的双向通信,或者我必须进行

我想将xml序列化对象从服务器传递到客户端,另一种方式则是。现在使用WCF从移动客户端(compact framework)调用方法(可能)很容易,但是有没有一种方法可以让服务器调用客户端的方法,或者以其他方式从客户端提取数据?我知道在compact框架中没有回调契约,您可以在这里看到:

最初我想到了socket编程并自己开发它,然后这里有人提到了WCF。但似乎WCF只能在非移动环境下工作,因为我需要回调

有人能帮我吗?是否可以使用WCF开发与桌面服务器和多个移动客户端的双向通信,或者我必须进行套接字编程


谢谢你的建议和帮助

即使使用套接字,由于路由、载波过滤和NAT转换(您没有提到实际的网络拓扑结构),也可能有点困难。这就是大多数移动应用程序必须轮询服务器的原因,即使它是一种“推送”模式(如Exchange的推送机制,客户机实际轮询)

一般来说,除非您在本地无线网络上,具有可靠的、可路由的、未过滤的网络访问,否则客户端应该定期呼叫服务器,询问服务器是否有数据。如果是,则从服务器中提取数据

编辑

现在,我们从您的评论中了解了更多关于您拓扑的信息,我可以为您提供更多指导。不幸的是,微软并没有让Windwos CE设备轻松地托管服务(WCF或其他)。从理论上讲,建立自己的WCF通道并实际承载服务需要一个结构,但这不是一个简单的任务。我很久以前研究过这个问题,认为这需要几个月的工作,而这需要雷德蒙某个了解现有Exchange频道工作原理的人的帮助

就我个人而言,我会选择使用托管一个基于REST的web服务,因为这很简单,而且我现在已经为很多客户机这么做了。我意识到,将Padarn作为解决方案提出有点自私,但我在Padarn中实现自定义iHttpHandler的全部原因是因为我找不到任何其他东西能够真正为CE设备提供托管其自身服务的简单方法,这是我们经常要提供解决方案的问题


其他选项包括专有套接字解决方案,在设备上托管FTP服务器,使用(abhorrent,IMO)MS提供的HTTP服务器以及ISAPI、Telnet或类似的东西。所有这些看起来要么是黑客,要么是大量的工作,要么两者兼而有之。

即使您使用套接字,由于路由、载波过滤和NAT转换(您没有提到实际的网络拓扑结构),这可能会有点困难。这就是大多数移动应用程序必须轮询服务器的原因,即使它是一种“推送”模式(如Exchange的推送机制,客户机实际轮询)

一般来说,除非您在本地无线网络上,具有可靠的、可路由的、未过滤的网络访问,否则客户端应该定期呼叫服务器,询问服务器是否有数据。如果是,则从服务器中提取数据

编辑

现在,我们从您的评论中了解了更多关于您拓扑的信息,我可以为您提供更多指导。不幸的是,微软并没有让Windwos CE设备轻松地托管服务(WCF或其他)。从理论上讲,建立自己的WCF通道并实际承载服务需要一个结构,但这不是一个简单的任务。我很久以前研究过这个问题,认为这需要几个月的工作,而这需要雷德蒙某个了解现有Exchange频道工作原理的人的帮助

就我个人而言,我会选择使用托管一个基于REST的web服务,因为这很简单,而且我现在已经为很多客户机这么做了。我意识到,将Padarn作为解决方案提出有点自私,但我在Padarn中实现自定义iHttpHandler的全部原因是因为我找不到任何其他东西能够真正为CE设备提供托管其自身服务的简单方法,这是我们经常要提供解决方案的问题

其他选项包括专有套接字解决方案,在设备上托管FTP服务器,使用(abhorrent,IMO)MS提供的HTTP服务器以及ISAPI、Telnet或类似的东西。所有这些似乎要么是黑客,要么是大量工作,要么两者兼而有之。

在ctacke

谢谢你的帮助。事实上,我以前偶然发现了你的Padran web服务器。我还没有真正检查过它。但我以后肯定会这么做。无论如何,套接字解决方案目前似乎并不那么糟糕。与此同时,我发现从多个客户端向“套接字服务器”发送数据非常容易。如果我能以某种方式管理这些连接,我就可以将数据发送回客户端。然后我必须想出一个协议来处理我通过网络发送的数据或命令。。。我想最难的部分是制定这样一个协议,因为我对ctacke的atm机一无所知

谢谢你的帮助。事实上,我以前偶然发现了你的Padran web服务器。我还没有真正检查过它。但我以后肯定会这么做。无论如何,套接字解决方案目前似乎并不那么糟糕。与此同时,我发现从多个客户端向“套接字服务器”发送数据非常容易。如果我能以某种方式管理这些连接,我就可以将数据发送回客户端。然后我必须想出一种处理dat的if协议