WCF服务单例带回调并托管在IIS上?

时间:2011-07-22 20:35:27

标签: asp.net wcf iis callback singleton

我在IIS7 Web应用程序上托管了一个WCF服务。它由WebServiceHostFactory创建。客户端连接到服务调用Collect方法,数据存储到DB。一切正常。

现在我想在每次“收集”新数据时刷新页面(即调用服务方法Collect)。

我的问题是:最好的方法是什么?

我正在考虑CallbackContract,但这需要单例模式(服务现在是PerCall),还是错误的假设?这种方法可行吗?

我的逻辑是:

  1. ASP.NET页面订阅WCF服务
  2. 从现在开始创建服务单例
  3. 当调用方法时,服务调用订阅者(客户端)
  4. 因此,只有一个服务实例才能订阅工作(或者是吗?)
  5. 客户端页面自行刷新
  6. 的问候, 凯特

1 个答案:

答案 0 :(得分:1)

您无法从服务器刷新用户浏览器中的页面。浏览器使用HTTP,这是一种请求 - 响应协议,因此如果浏览器没有发出请求,它将不会从您的服务器中寻找响应。

如果您在浏览器中托管了Silverlight应用程序,那么这是一个不同的故事,但您没有在任何地方提及Silverlight。您也可以使用HTML5中的WebSockets执行您所要求的操作,但这尚未完全标准化。