我使用wcf实现了RESTful API,并使用System.Web.Routing.RouteTable.Routes.Add(...)将方法映射到URL。如果用户键入无效的url(即未映射到方法的url),请说myapiurl / geeet /而不是myapiurl / get /然后显示标准错误消息,如“Method not allowed”。
如何自定义此错误消息?
我在Global.asax中尝试了Application_Error,但它没有捕获异常。 我还实现了IErrorHandler,IServiceBehavior,但它也没有捕获到这个错误。 我没有实现WebHttpBehavior。
答案 0 :(得分:0)
“不允许的方法”(HTTP状态代码405)消息表示服务器正在使用服务器(IIS)不允许的HTTP方法(GET,POST,PUT等)从客户端接收请求。例如,客户端正在提交PUT请求,而IIS未配置为接受PUT。我认为默认情况下,IIS只支持GET和POST。
正如您在问题中描述的那样,错误的URI通常会导致找不到404资源的HTTP状态代码。听起来像您的IIS配置可能会导致您的问题,因为您无法在ASP.NET或WCF层捕获异常。