我正在尝试在Silverlight应用中使用WCF示例(我想接受在Sliverlight Bing地图上插入数据点的请求。
我是Silverlight和.NET的新手。到目前为止,我有一个Bing地图,可以添加图钉。我想要的是接受进程间通信来插入来自另一个应用程序的图钉。
在WCF上的一些Web示例后,我尝试使用ServiceHost(System.ServiceModel),但显然在silverlight应用程序中没有这个示例?
我很困惑。如何获取Silverlight应用程序的数据?
这是一个非常简单的例子 - 我想做的就是在纬度/经度上添加一个图钉。
修改
我想要做的是当一个不同的进程更新/通知某个位置的某个事件时,将图钉/数据添加到Bing地图(一个silverlight应用程序)。我现在明白,silverlight是客户端机器的本地产品并且是沙盒式的 - 但是我仍然需要在某个客户端上以某种方式触发Silverlight应用程序。
答案 0 :(得分:3)
你需要以另一种方式工作 -
ServiceHost
旨在“托管”服务 - 它是创建WCF连接的服务器端的原因。鉴于其沙箱,Silverlight只能作为服务客户端。
您的其他流程需要使用ServiceHost
。然后,它可以将数据提供给您的Silverlight客户端(客户端可以连接并请求它们)。
答案 1 :(得分:2)
Silverlight在Web浏览器中本地运行。出于安全原因,它是沙盒。 Silverlight应用程序本身不能充当Web服务。但是,它可以与其他Web服务进行通信,通常在为Silverlight应用程序提供服务器的同一服务器上运行到客户端浏览器。常见的选择是使用完整(非Silverlight).NET框架编写的WCF Web服务。
另一个应用程序可以与Silverlight客户端也在使用的服务器上的Web服务进行通信。您可以通过这种方式交换数据。