WebApi Route перемещается на базовый URL после публикации

У меня есть очень простой маршрут в приложении, который отлично работает в Visual Studio, но когда я запускаю процесс публикации и развертываю его на сервере IIS 8.5, он меняет маршрут и разрешается из базового URL-адреса. Я полагаю, что это как-то связано с отображением маршрутов, но я не уверен, почему это интерпретируется по-другому.

Когда я запускаю в Visual Studio и захожу на http://localhost/test - это прекрасно работает. Если я захожу на http://localhost/ - я получаю 403, как я ожидал.

После публикации в IIS происходит обратное. http: // имя_сервера / test разрешается до 404, а http: // имя_сервера теперь разрешает мою тестовую страницу.

Любая помощь будет оценена в понимании этого поведения. Версия 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 ответов

Другие вопросы по тегам