尝试在浏览器上运行Web服务时收到此消息。请注意,源代码是一个Windows文件,无法根据我的需要进行更改。
编译器错误消息:CS0104:'消息'是一个含糊不清的参考 介于' ThreeDSeekUtils.Message'和 ' System.Web.Services.Description.Message'
来源错误:
第263行:void WriteSoapMessage(MessageBinding messageBinding, 留言信息,bool soap12){ objectId = 0; SoapOperationBinding soapBinding;
源文件: C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \配置\ DefaultWsdlHelpGenerator.aspx
如何在不从Webservice中删除ThreeDSeekUtils和System.Web.Services的命名空间的情况下解决此问题? (我的网络服务中需要这两个 - Service1.asmx) 这个问题以前没有回答过。
答案 0 :(得分:2)
您需要调整签名以指定Message
类的显式命名空间:
void WriteSoapMessage(MessageBinding messageBinding,
ThreeDSeekUtils.Message message, bool soap12)
或
void WriteSoapMessage(MessageBinding messageBinding,
System.Web.Services.Description.Message message, bool soap12)
取决于哪个。另一种选择是在类顶部的using
块中为您的命名空间添加别名:
using ThreeD = ThreeDSeekUtils;
using ServicesDesc = System.Web.Services.Description;
然后你可以用更短的形式使用别名:
void WriteSoapMessage(MessageBinding messageBinding,
ThreeD.Message message, bool soap12)
或
void WriteSoapMessage(MessageBinding messageBinding,
ServicesDesc.Message message, bool soap12)
答案 1 :(得分:1)
一个简单的解决方案是使用完整的命名空间编写方法,如:
void WriteSoapMessage(MessageBinding messageBinding, ThreeDSeekUtils.Message message, bool soap12)
答案 2 :(得分:1)
您可以在声明变量时完全限定类名。
不要做
Message msg = new Message();
执行:
ThreeDSeekUtils.Message msg = new ThreeDSeekUtils.Message();