global.asax 中的一个全局 WCF ChannelFactory 是否会限制我的 asp.net 项目?
我创建一个到 WebService 的全局 ChannelFactory 连接(在 global.asax 中),并从每个 Web 请求访问此 CannelFactory。 我的 WCF 服务使用:
InstanceContextMode = InstanceContextMode.Single
ConcurrencyMode = ConcurrencyMode.Multiple
.Net 4.0
netTcpBinding
没有安全性,没有元数据交换
现在我的问题是:
1) 为每个访问 WebService 的传入请求创建一个自己的 ChanelFactory 并增加我的 WCF 服务中的连接限制是否更好?
2)当我的WebService有一些并发请求时(服务器有很多同时请求),它们会排队还是全局ChannelFactory会同时处理/发送每个请求?
如果是这样,ChannelFactory 会负责客户端的线程安全吗?
非常感谢您的帮助!
I create one global ChannelFactory connection to my WebService (in global.asax) and I access this CannelFactory from every web-request.
My WCF-Service uses:
InstanceContextMode = InstanceContextMode.Single
ConcurrencyMode = ConcurrencyMode.Multiple
.Net 4.0
netTcpBinding
no security, no metadata exchange
Now my questions:
1) Is it better to create an own ChanelFactory for every incoming request that accesses the WebService and to increase the connection limit in my WCF-Service, too?
2) When there are some concurrent requests to my WebService (the server has much simultanious requests), will they be queued or will the global ChannelFactory process/send every request simultaneously?
If so, will the ChannelFactory take care for the thread safety on the client side?
Thank you very much for your help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我在一个相当大的项目中使用缓存通道工厂已经有一段时间了,到目前为止还没有遇到任何问题。如果命名遵循工厂及其结果的标准理解,那么保留工厂并处理其结果(在本例中为通道)应该是合理的使用。
I have been using cached channel factories for quite some time in a sizable project and have not had any issues so far. If the naming follows the standard understanding of factories and their results it should be a fair use to keep the factory along and dispose of its results (in this case the channel).