C# &引用;Web服务方法名称无效";当URL在方法名称后包含附加斜杠时

C# &引用;Web服务方法名称无效";当URL在方法名称后包含附加斜杠时,c#,asp.net,web-services,webmethod,C#,Asp.net,Web Services,Webmethod,我有一个带有WebMethod的简单ASP Web服务,即: public class MyService : WebService { [WebMethod] public void MyMethod() { return; } } 如果我在MyMethod中设置了断点,则当我将浏览器指向以下位置时,会命中该断点: 但如果转到以下位置,则会出现“Web服务方法名称无效”错误(未命中断点): 当URL中的方法名称后面有额外的正斜杠(和参数)时

我有一个带有WebMethod的简单ASP Web服务,即:

public class MyService : WebService
{
    [WebMethod]
    public void MyMethod()
    {
        return;
    }
}
如果我在MyMethod中设置了断点,则当我将浏览器指向以下位置时,会命中该断点:

但如果转到以下位置,则会出现“Web服务方法名称无效”错误(未命中断点):


当URL中的方法名称后面有额外的正斜杠(和参数)时,如何调用MyMethod?

我怀疑WebMethod是否支持斜杠。您只需找到另一种方法来传递参数。也许更好的问题是:为什么你要在2021年创建一个新的WebMethod?我正在一个现有的项目中工作,试图修复一些显然曾经有用的功能。带有斜杠的URL来自第三方代码,并且遵循规范,因此更改它不是一个选项。不过,这段代码中到处都有Web服务和Web方法,如果我想使事情现代化,我应该用什么来代替呢?可能最终要做的事情是在ASP.NET内核上运行,可能使用API控制器,甚至gRPC。当然,这是一个很大的重写,因此,要采取初步步骤,您可以将ASP.NET Web API集成到.NET Framework项目中,并慢慢地将功能从WebMethods移植到Web API控制器中。一旦全部或大部分都被移植,转到.NET核心和ASP.NET核心就会简单得多。如果这个“曾经工作过”,它以前是如何工作的?它发生了什么变化?想必,如果这在使用斜杠之前是有效的,那么一定有什么东西可以让这些斜杠起作用。您的项目是否有适当的源代码控制?任何地方都有URL重写逻辑吗?这才是真正的问题,我不知道是什么改变了!代码在源代码管理下,这部分已经有很长一段时间没有被编辑过了,我个人在过去(作为网站的最终用户)看到了功能的工作。我不知道有任何URL重写逻辑,也不知道最近有没有对这种逻辑进行过任何更改(如果存在的话)(小团队)。也许将第一个Web API控制器引入到项目中值得一看。。。