我有一个公开WCF服务的Winforms应用程序.
从IIS,我尝试使用该服务.我尝试在2台不同的计算机上调用test1.aspx,然后在Winforms应用程序中调用WCF.
test1.aspx => from computer 1 => First Call
test1.aspx => from computer 2 => Second Call
Run Code Online (Sandbox Code Playgroud)
我看到WCF是单线程的,在它开始处理CALL 2之前,它需要完成处理CALL 1.
[ServiceBehavior(IncludeExceptionDetailInFaults = true,
ConcurrencyMode=ConcurrencyMode.Multiple,
InstanceContextMode=InstanceContextMode.PerSession)]
Run Code Online (Sandbox Code Playgroud)
我有Windows Server 2008 R2和IIS 7.5
谁能帮我?
Lad*_*nka 11
当服务在UI线程中托管时,WCF的行为可能与您的情况不同.默认情况下,WCF处理加入Windows消息循环,因此请求处理不仅会变为串行,而且还会停止WinForms UI中的所有事件处理(应用程序将冻结).
要避免此行为,您必须明确说明您不希望在UI线程中托管服务:
[ServiceBehavior(UseSynchronizationContext = false)]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
665 次 |
| 最近记录: |