Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WCF&;ASP.NET并发问题_Asp.net_Wcf - Fatal编程技术网

WCF&;ASP.NET并发问题

WCF&;ASP.NET并发问题,asp.net,wcf,Asp.net,Wcf,我有一个在ASP.NET 3.5上运行的REST服务,我有多个来自客户端的并发异步调用,这些调用都是通过WCF服务实现的。它们都得到序列化(顺序)调用,而不是并行调用。这是我的设置 InstanceContextMode=InstanceContextMode.PerSession ConcurrencyMode=ConcurrencyMode.Multiple web.config-限制值 代码中没有会话写入 使我的WCF并发,我缺少什么?假设它发生了,导致会话模式。尝试从不同的客户机调用服

我有一个在ASP.NET 3.5上运行的REST服务,我有多个来自客户端的并发异步调用,这些调用都是通过WCF服务实现的。它们都得到序列化(顺序)调用,而不是并行调用。这是我的设置

InstanceContextMode=InstanceContextMode.PerSession

ConcurrencyMode=ConcurrencyMode.Multiple

web.config-限制值

代码中没有会话写入


使我的WCF并发,我缺少什么?

假设它发生了,导致会话模式。尝试从不同的客户机调用服务,我认为您将有并行调用

对于每会话服务,Max Instances是并发活动实例的总数和并发会话的数量


您可以使用服务的每种调用类型,实例数实际上与并发调用数相同。或者您可以在客户端上使用异步方法,例如“Begin…()”。

我也有类似的问题,但我使用的是普通的旧.aspx页面。不管我打了多少次电话,IIS都只是串行处理,而不是并行处理

问题是当前页面在会话上被锁定,因此一次只能有一个页面访问会话,因此是串行的


我不知道您的问题是否是由同一问题引起的,但我认为这可能是一个很好的起点。

我猜使用异步调用不会强制客户端并发,而是确保您不会等待响应。您是否尝试过
任务。并行
?向我们展示您的客户端代码:您如何管理代理以及如何调用服务?顺便说一句,在混合PerSession和ConcurrencyMode时要非常小心。多个,这要求您必须使用锁等手动同步对会话实例状态的访问。客户端代码是通过Sencha Touch代码实现的。代理由sencha管理。出于测试目的,我使用PerCall和ConcurrencyMode.Single来保证每次调用都有不同的线程。我不确定代理将如何成为一个问题