发布

时间:2017-06-21 14:17:35

标签: c# asp.net-mvc asp.net-web-api-routing asp.net-mvc-5.2

我在一个应用程序中有一个非常简单的路径,可以在Visual Studio中正常工作,但是当我运行发布过程并将其部署到IIS 8.5服务器时,它会更改路由并从基本URL解析。我认为它与路由映射有关,但我不确定为什么它的解释会有所不同。

当我在Visual Studio中启动并访问http://localhost/test时 - 它运行良好。如果我访问http://localhost - 我会收到403,就像我期望的那样。

我发布到IIS后,反过来发生了。 http://servername/test解析为404,http://servername现在解析了我的测试页。

理解此行为时,我们将不胜感激。 Visual Studio版本是2015,IIS是版本8.5。 WebAPI版本是5.2.3。

控制器:

[Route("test")]
public class WebApiController : ApiController
{
    private static readonly ILogger Logger = Log.Logger.ForContext<WebApiController>();
    [Route("")]
    public string Get()
    {
        return "Services started. Current response time is: " + DateTime.Now.ToString("h:mm:ss tt");
    }
}

路线注册:

public static void Register(HttpConfiguration config)
    {
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "Default",
            routeTemplate: "",
            defaults: new { }
        );
    }

0 个答案:

没有答案