我的负载测试我的网站。该网站呼吁对使用clientCredentialType =“窗口”同一机器上运行的WCF服务。一切正常,直到我达到一定的载荷(这甚至不是很高),然后我得到了以下错误:

  

System.ServiceModel.Security.MessageSecurityException:   HTTP请求与禁止   客户端身份验证方案   '匿名'。 ---->   System.Net.WebException:远程   服务器返回错误:(403)   禁止的。

在每次呼叫我建立频道:

var proxy = (IClientChannel)channelFactory.CreateChannel();

在成功,我关闭:

proxy.Close();

在错误,我中止:

proxy.Abort();

任何想法是怎么回事?我能做些什么来处理负载更好?寻找什么?

有帮助吗?

解决方案 3

问题是,哎呀,我是运行在我开发框,这是XP,它使用IIS 5,其具有10个连接的限制测试。

其他提示

是您的服务Sessionful服务或你不用担心保持呼叫之间的状态?如果你没有状态,你可能要标记您的服务作为PerCall服务。这将确保,当客户端通话过程中的服务实例只存在。

朱瓦尔·洛的优秀著作“编程WCF服务”第2版第4章涵盖了这个话题。

在默认情况下是PerSession这可能不是你想要的。

此外,请参阅本上MSDN:如何:控制服务实例化

感谢特里。没有我的服务不维护状态。我试图装饰我的服务类:

[ServiceBehaviorAttribute(InstanceContextMode = InstanceContextMode.PerCall)]

没有帮助。故障点似乎是在约4并发呼叫。

scroll top