我已经开启了一个vs2010 c#web项目(asp.net)。它具有Web服务的Web引用。服务略有变化 - 增加了新的操作。我想更新代理类,以便我可以调用新操作,但我找不到类。我似乎记得曾经是解决方案资源管理器中的“显示所有文件”按钮,它会显示代理类,但我看不到任何迹象。不幸的是,我无法通过将其指向Web服务元数据wsdl来刷新代理,因为vs不再安装在可以访问Web服务的任何PC上。有谁知道我在哪里可以找到代理类?
答案 0 :(得分:0)
在Visual Studio中找不到它并不重要 - 您始终可以在项目目录下的文件系统中找到正确的文件。
答案 1 :(得分:0)
是的,你是对的。工具栏中有一个“显示所有文件”图标。它只有在您选择项目时才可用,因此您要选择Web服务的父项目:
展开服务引用,在其下面,名为Reference.cs的文件是代理类。
你应该 NOT 进行手动编辑。您应该对服务进行更改,然后使用Update Service Reference
右键单击选项重新生成代理。但是,如果你真的不能像你说的那样做,那么只需手动编辑文件即可。但请注意,如果有人在将来再次进行更改,您所做的任何更改都将丢失。 非常冒险! (我捕食你正在使用源代码控制)
答案 2 :(得分:0)
问题是,应用程序正在运行 - doh!
答案 3 :(得分:0)
有一个WSDL.exe命令行工具。
在可以访问WebService的PC中复制并执行此命令行工具,它将再次生成代理,您可以用项目中的文件替换它们。
http://msdn.microsoft.com/en-us/library/7h3ystb6(v=vs.80).aspx