从windows服务托管的WCF到ASP.NET客户端的进度报告(可能是ajax?)

从windows服务托管的WCF到ASP.NET客户端的进度报告(可能是ajax?),asp.net,ajax,wcf,Asp.net,Ajax,Wcf,我们有一个asp.NETWebForm应用程序(3.5)&一个通过windows服务(服务启动时激活的服务库)托管的wcf服务。两者都部署在同一台服务器中 WCF服务用于少数长时间运行的任务 现在,客户需要一些定制的报告,这将花费大量时间 我的想法是在UI中显示任务的进度,但我正在努力寻找正确的方法来完成它 有没有可能是这样的呢? 根据来自页面的请求,服务异步启动处理,并将状态报告给某个变量。(我不想写入数据库) 来自客户端页面的异步轮询,intern与wcf服务的另一个操作通信以检索变量值 A

我们有一个asp.NETWebForm应用程序(3.5)&一个通过windows服务(服务启动时激活的服务库)托管的wcf服务。两者都部署在同一台服务器中

WCF服务用于少数长时间运行的任务

现在,客户需要一些定制的报告,这将花费大量时间

我的想法是在UI中显示任务的进度,但我正在努力寻找正确的方法来完成它

有没有可能是这样的呢?

  • 根据来自页面的请求,服务异步启动处理,并将状态报告给某个变量。(我不想写入数据库)

  • 来自客户端页面的异步轮询,intern与wcf服务的另一个操作通信以检索变量值

  • Ajax客户端可以与wcf服务通信,但看起来该服务需要作为web应用程序托管(这里不太了解)


    还有其他想法吗?有没有关于使用wcf回调(双工通信)的选项?太混乱了。

    您可以考虑使用类似的方法将响应从web应用程序推送到客户端(还有其他好处,这使用了这种技术,因此减少了轮询的次数)

    要从WCF服务获取对web应用的响应,您可以使用或使用消息传递解决方案,如


    我们使用
    Client>JQuery>MVC>WCF>Service Bus>MVC>signar>Client
    作为一个管道,它对于长时间运行的流程非常有效。

    您可以考虑使用类似的方法将响应从web应用程序推送到客户端(在其他好处中,这使用了该技术,因此减少了您必须进行的轮询量)

    要从WCF服务获取对web应用的响应,您可以使用或使用消息传递解决方案,如


    我们使用
    Client>JQuery>MVC>WCF>servicebus>MVC>signar>Client
    作为一个管道,它对于长期运行的流程非常有效。

    一年前我们实现了类似的目标

    1) 我们使用Singleton InstanceMode创建了一个WCF服务器,该服务器处理请求,同时保持状态。另一种方法,例如GetStatus,将状态返回给客户端。如果出现任何错误,它还提供错误详细信息。然而,我们也坚持处理细节

    2) 在网页上,一旦初始化请求并在网页上显示进度条,我们就会异步点击getstatus


    这对我们来说非常有效。

    一年前我们也取得了类似的成就

    1) 我们使用Singleton InstanceMode创建了一个WCF服务器,该服务器处理请求,同时保持状态。另一种方法,例如GetStatus,将状态返回给客户端。如果出现任何错误,它还提供错误详细信息。然而,我们也坚持处理细节

    2) 在网页上,一旦初始化请求并在网页上显示进度条,我们就会异步点击getstatus


    这对我们来说非常有效。

    我在这里回答了一个类似的问题:谢谢,我会调查的。我在这里回答了一个类似的问题:谢谢,我会调查的。会调查的,但对我的需要来说似乎太复杂了。会调查的,但对我来说似乎太复杂了。谢谢你的建议和达伦的帮助。谢谢你的建议和达伦的帮助。