2

我是 WCF 的新手,到目前为止我知道我可以使用 WCF 服务中的方法并返回一些值,但我想知道我是否使用了后台工作程序并且我想向客户端发送一条消息,如“作业完成”完成后,我该怎么做?
我应该使用 AutoResetEvent 并等待后台工作程序完成,然后resetEvent.Set()让主线程上的方法返回消息吗?
我需要那个线程不要忙,它应该为我从客户端请求的任何其他命令做好准备。所以有什么想法吗?

4

1 回答 1

1

我已经弄清楚了,好吧,如果不调用该方法,我就无法从服务中发回消息,但是当我将服务行为的属性从更改ConcurrencyMode = ConcurrencyMode.Single为时,ConcurrencyMode = ConcurrencyMode.Multiple它变成了多线程,结果:
该方法因此在新线程中运行属性,我可以在该线程工作时发送其他请求,当它完成时它返回消息/结果。

[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple, InstanceContextMode = InstanceContextMode.PerSession)]
public class FileManagerService : IFileManager
于 2012-04-14T08:13:24.807 回答