首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SoapHttpClientProtocol线程安全吗?

SoapHttpClientProtocol线程安全吗?
EN

Stack Overflow用户
提问于 2009-12-17 22:40:14
回答 4查看 3.4K关注 0票数 10

我用VS2008 (c#)的“添加Web引用”特性创建了一个web服务代理。

生成的类派生自SoapHttpClientProtocol

我只能在单例中存储代理的一个实例吗?它是线程安全的吗?两次调用之间是否存在阻止我执行此操作的状态?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-12-19 00:35:43

不是的。它不是线程安全的。客户端必须处于打开状态才能启用调用。在一个简单的场景中,一个线程执行client.Close(),而另一个线程试图调用一个方法,这将会失败。

票数 1
EN

Stack Overflow用户

发布于 2014-01-10 05:15:58

MSDN说SoapHttpClientProtocol是线程安全的:

线程安全

此类型是线程安全的。

对于另一个类,比如System.Windows.Forms,它不是线程安全的,

线程安全

此类型的任何公共静态(在Visual Basic中为Shared)成员都是线程安全的。不能保证任何实例成员都是线程安全的。

Here is a Microsoft/MSDN employee声明(尽管没有保证)它是线程安全的:

Hi Max

对于webservice代理,我认为它应该是线程安全的,因为.NET生成的代理类是从文档中标记为线程安全的"SoapHttpClientProtocol“类派生的:

SoapHttpClientProtocol类

http://msdn.microsoft.com/en-us/library/system.web.services.protocols.soaphttpclientprotocol(VS.71).aspx

因此,只要您没有在派生的代理类中手动添加任何上下文相关的成员,那么在多线程上下文中使用它应该是安全的。你认为这样对吗?

由衷地,

Steven Cheng

Microsoft MSDN在线支持线索

这篇文章是按“原样”提供的,不提供任何担保,也不授予任何权利。

票数 11
EN

Stack Overflow用户

发布于 2009-12-17 22:44:43

根据此链接:http://msdn.microsoft.com/en-us/library/system.web.services.protocols.soaphttpclientprotocol.aspx

在“线程安全”的底部,它说这个类型是线程安全的。然而,我不知道使用它作为单例是否会是线程安全的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1922214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档