同时调用 Azure 中托管的 WCFService 失败
我有一个托管在 Microsoft Azure 云服务中的 WCFService。客户端计算机可以成功地一次调用一个 WCFServices。当我使用客户端计算机运行测试以同时调用 Web 服务时,一个客户端可以成功调用,而其余所有客户端都会失败。
我认为这种情况应该自动处理。我是否必须进行特殊的配置更改才能使同时呼叫正常工作?
我有一些例外情况,例如:
1] ExecuteReader 需要一个打开且可用的连接。连接的当前状态已关闭。
2]“当数据读取器关闭时调用‘Read’不是一个有效的操作。”
我正在使用 EntityFramework 作为我的数据层。
I have a WCFService hosted in Microsoft Azure Cloud Services. The client machine can successfully make calls to the WCFServices one at a time. When I run tests with my client machine to simultaneously call the webservice, one one client can make a successful call and rest all of them fail.
I thought this scenario should be automatically handled. Do I have to make special configuration changes to make simultaneous call work?
I have exceptions like :
1] ExecuteReader requires an open and available Connection. The connection's current state is closed.
2] "Calling \'Read\' when the data reader is closed is not a valid operation."
I am using EntityFramework for my data layer.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您能否详细说明这些调用的作用以及调用失败后多长时间? Azure 绝对支持同时多次调用 WCF 服务。但是,如果您的调用彼此之间发生争用并互相阻塞,则除了一个调用之外的所有调用都可能会失败。
如果其中一个调用导致其他调用需要超过 1 分钟才能完成,则 Azure 的负载均衡器将终止其他调用。正如我最近痛苦地发现的那样,每个调用允许完成 1 分钟。
Can you elaborate on what the calls do and how long after do they fail? Calling WCF service multiple times at the same time is absolutely supported by Azure. However, if your calls run into contention between one another and are blocking one another, all but one may fail.
If one of your calls makes the other calls take longer than 1 min to complete, then Azure's load balancer will kill the other calls. Each call is allowed to complete for 1 min, as I painfully found out recently.