从 ASP.NET Webservice 中删除了 WebMethod,方法仍然显示
Posted
技术标签:
【中文标题】从 ASP.NET Webservice 中删除了 WebMethod,方法仍然显示【英文标题】:Removed WebMethod from ASP.NET Webservice, method still shows up 【发布时间】:2010-03-05 09:21:36 【问题描述】:我在 Web 服务中更改了我的一个 Web 方法的签名,但无法对其进行更新,所以现在我删除了整个方法并重建了项目,并且该删除的方法仍然显示并有效!
Visual Studio 中是否有我不知道的 WebService 缓存?
我已经清理、重建、构建项目,甚至在项目中搜索删除的方法也没有检索到任何结果,所以我认为这是 Visual Studio 问题,而不是我的代码。
Visual Studio 中所有方法的屏幕截图,旁边是我运行服务时可用的方法。 AddNewPerson 不在 Visual Studio 中,但在我运行它时在服务中。:http://imgur.com/seRXh.gif
编辑: 这不是网络引用问题,这是实际服务,我什至还没有更新其他项目的引用,我需要先更改此方法。
【问题讨论】:
当你 F5 并运行 Web 服务时,在方法列表中 【参考方案1】:也许您的方法出现在您的 Web 参考中,它是由 Visual Studio 自动生成的代理类。在这种情况下,右键单击解决方案资源管理器中的 Web 参考并选择更新 Web 参考。
【讨论】:
不,我正在开发实际的服务——它还没有在另一个项目中被引用。 @Gareth:那你如何跟踪旧方法的存在? 跟踪是什么意思?我创建了一个 Web 服务,添加了一些方法(见顶部的屏幕截图),现在删除了其中一个,当我运行 Web 服务时,它仍然显示在您在本地运行时浏览到的 ASMX 页面中。 @Gareth:你能提供源代码(至少,存根)来重现问题吗?【参考方案2】:您应该尝试终止/停止启动的 IIS 进程。 如果在你的栏中没有找到 IIS 图标,你可以在你的任务管理器中找到一个名为 w3p.exe 的进程并将其杀死。
【讨论】:
我没想到。杀死所有进程并结束服务,重新运行它仍然显示:(【参考方案3】:我认为 7 年后您可能已经修复了它,但我在 VS2015 中遇到了同样的问题。解决方案是删除输出文件夹中的 *.dll 和 *.pdb,然后构建项目(不是整个解决方案)
【讨论】:
'(不是整个解决方案)'您能否详细说明您的解决方案?那么这个答案将来可能会更有用。 当然,在解决方案资源管理器窗口中,您会找到一个树结构,其中根节点会显示“解决方案 (n 个项目)”。这是解决方案节点,将包含您的项目和解决方案中的其他文件。如果您右键单击解决方案节点,将出现一个弹出菜单,“构建解决方案”将是第一个选项。通过选择该选项,将重建解决方案中的所有项目,这就是我所说的您不需要做的事情。只需在树中找到您的项目,右键单击它并选择“构建”。以上是关于从 ASP.NET Webservice 中删除了 WebMethod,方法仍然显示的主要内容,如果未能解决你的问题,请参考以下文章
如何在 c# ASP.Net 中使用有效的 JSON 输出创建 JSON WebService 并使用 JQuery/Ajax 进行查询
ASP.net JSON Webservice 响应类型的问题
在 asp.net 中阻止对 WebService.asmx 的访问