【问题标题】:Background worker with silverlight 5 makes wcf service calls stuck while running使用 silverlight 5 的后台工作人员使 wcf 服务调用在运行时卡住
【发布时间】:2016-04-14 19:24:21
【问题描述】:

我正在与 Backgorund 工作人员一起工作。我有一个使用 WCF 服务的 Silverlight 5 应用程序。

当我调用后台方法时,它会触发服务,并且此方法需要一些时间才能完成。在后台工作程序运行期间,如果我进行其他一些服务调用,它会停止,直到后台方法完成。我想进行并行 WCF 服务调用。我不确定问题的原因。

【问题讨论】:

  • 显示你尝试过的代码。
  • WCF 是否托管在 IIS 上?

标签: wcf backgroundworker


【解决方案1】:

如果您的 WCF 托管在 IIS 中,那么在返回第一个 WCF 调用之前未处理您的第二个请求的最可能原因是 IIS 放置的 session lock

一种方法是避免使用会话进行处理或替换为自定义会话机制,如上述链接中所建议的那样。

如果您提供有关您的后台工作人员试图实现的目标的更多详细信息,您可能会得到更有针对性的答案(即,也许可以在不锁定会话的情况下完成处理)。

【讨论】:

  • 我正在使用 syncfusion 生成一个 excel 并将数据写入其中,从数据库中获取。这需要一些时间才能完成,并且一切都在服务视线内完成,所以基本上我想做的是做一些其他工作,直到生成 excel。但我无法通过后台工作人员实现这一点,服务调用在生成 excel 期间卡住了。你能推荐一些方法吗?
  • 是的,但是您能否提供有关如何托管 WCF 的详细信息?会话是如何实现的?我的回答涵盖了使用 IIS 并进行会话时的情况,其中提供了解释。
猜你喜欢
  • 1970-01-01
  • 2013-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多