我必须调用在调用者aspx所在的同一网站上发布的web服务。
当我尝试“添加Web引用”时,编辑器不会显示生成的命名空间中的Web服务方法。
我是否必须使用“添加Web引用”或者是否有其他方式,因为Web服务位于同一网站中?
Visual Studio 2005,C#
谢谢,
爱德华
答案 0 :(得分:2)
我用Andy Rose在评论中写道的方式:
实例化webservice类并直接调用方法,因为它可以在项目中访问(无需添加Web引用)。
答案 1 :(得分:0)
有一些方法可以欺骗它......您可以使用Web服务部署应用程序,然后添加对已部署位置的引用。
另一个想法是使用ctrl-f5启动它,以便不启动调试器,然后添加对localhost的引用:/。asmx
这将获取您在web.config中创建的所有配置信息,当然,您可以在以后根据需要进行修改。
答案 2 :(得分:0)
Webreference本身只是一个代理实现,因此VS可以假装它知道你的web服务如何对它的调用作出反应(所以你可以编译),你实际上可以在没有它们的情况下进行编码(虽然它更难:))。
如果你想这样做,你可以考虑一些选择:
创建代理后,您可以更改代理绑定中指向的URL。