尽管在Visual Studio 2005中的客户端项目上启用了WSE 3.0,但我总是使用从SoapHttpClientProtocol派生的服务代理来完成Web引用。我必须手动将继承更改为WebServicesClientProtocol,但更新它将恢复为SoapHttpClientProtocol。我不确定Visual Studio项目属性可以在哪里永久使用WebServicesClientProtocol?
据我所知,Visual Studio应该生成常规的基于SoapHttpClientProtocol的服务代理,以及另一个服务代理,后缀为源自Web ServicesClientProtocol的“Wse”名称。 Even Visual Studio .NET 2003 already had this feature。因此,由于某些原因,我的Visual Studio 2005与WSE 3.0没有紧密合作来生成额外的WebServicesClientProtocol代理。但缺少的链接在哪里?
2009年1月13日更新
我有另一台机器来测试它,并且看到这个Visual Studio 2005 可以基于WebServicesClientProtocol生成代理。这意味着我的原始工作站的Visual Studio已经搞砸了;不太确定如何修复它。
添加:嗯,重新安装WSE 3.0也无济于事。也许WSE只能在x64 Windows Vista上运行......?
答案 0 :(得分:2)
看起来像是64-bit operating system certainly has its demerits。
WSE 3.0安装程序无法使用以下条目更改Visual Studio 2005的配置文件C:\ Program Files(x86)\ Microsoft Visual Studio 8 \ Common7 \ IDE \ devenv.exe.config。
<configuration>
<system.web>
<webServices>
<soapExtensionImporterTypes>
<add type="Microsoft.Web.Services3.Description.WseExtensionImporter,
Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35" />
</soapExtensionImporterTypes>
</webServices>
</system.web>
</configuration>