我有web.api 2项目。我还尝试向其中添加处理程序。但是我发送的每个请求(http://api.xxxx.xxx/handler)都返回404代码错误。我意识到问题在于路由配置,但是我该如何解决?
web.config
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule" />
<!-- ADD THIS -->
</modules>
<handlers accessPolicy="Read, Execute, Script">
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="ChatHandler" verb="*" path="/handler/" type="ProjectAPI.Handler.ChatHandler" />
</handlers>
</system.webServer>
Global.asax.cs
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
RouteTable.Routes.Ignore("{resource}.axd/{*pathInfo}");
RouteTable.Routes.Ignore("handler/{*path}");
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}
答案 0 :(得分:0)
如果您没有更改WebApiConfig路由,则默认URL应为: http://api.xxxx.xxx/api/handler。我从未见过需要将其添加到配置中,这是为什么呢?仅将WebApiConfig.Register中的配置从〜/ api /更改为〜/,它应该可以工作。发布更多代码,因为这就像“从茶叶中读取”:)