2011-11-03 31 views
2

我试图使用Silverlight应用程序一个WCF的例子(我想接受请求插入的Sliverlight兵地图上的数据点。如何在Silverlight 4中使用ServiceHost(System.ServiceModel)? (C#)

我是新来的Silverlight和.NET。到目前为止,我有一个兵地图,并可以添加图钉我想要的是接受进程间通信插入从另一个应用程序的图钉

以下关于WCF的一些网络示例我尝试使用ServiceHost(System.ServiceModel),但显然这不是在Silverlight中可用应用程序?

我很困惑。如何获取Silverlight应用程序的数据?

这是一个非常简单的例子 - 我想要做的就是在纬度/经度上添加一个图钉。

编辑

我所试图做的就是添加图钉/数据到Bing地图(一个Silverlight应用程序)时,不同的过程ETS更新/通知一些事件与位置。我现在明白Silverlight对客户端机器是本地的,并且是沙盒化的 - 但我仍然需要以某种方式将客户端触发的某个事件触发到Silverlight应用程序。

回答

2

Silverlight在Web浏览器中本地运行。出于安全原因,它是沙盒。 Silverlight应用程序本身不能充当Web服务。但是,它可以与其他Web服务交谈,通常运行在为Silverlight应用程序提供给客户端浏览器的服务器上。一个常见的选择是使用完整(非Silverlight).NET框架编写的WCF Web服务。

另一个应用程序可以与Silverlight客户端也使用的服务器上的Web服务进行通信。你可以用这种方式交换数据。

+0

但是WCF服务如何通知事件的silverlight实例/应用程序? – Tim

+0

投票将是最简单的方法。在WCF中也有双工通信,这将允许一种“推送”通知。请参阅:http://msdn.microsoft.com/en-us/library/cc645027(v=vs.95).aspx – Aardvark

+0

(我想我应该滚动查看具有相同建议的其他答案...) – Aardvark

3

你需要工作的其他方式 -

ServiceHost意为“主机”的服务 - 这就是创建一个WCF连接的服务器端。鉴于其沙箱,Silverlight只能作为服务客户端

你是其他进程将需要使用ServiceHost。然后,它可以将数据提供给Silverlight客户端(客户端可以连接并请求它们)。

+0

我的silverlight应用程序需要得到有关事件/请求/事件的通知。我如何从客户端转到WCF到Silverlight?我无法想象我想要在Silverlight应用程序中进行投票... – Tim

+1

@Tim您可以轮询或(更好地)查看双工连接,回调或事件。我建议阅读:http://msdn.microsoft.com/en-us/magazine/cc163537.aspx –

+0

好的,谢谢。我会看看。 – Tim