В моем решении есть проект MVC, в котором также есть ApiControllers. Я настроил проект в IIS и добавил его в файл hosts.
Маршрут выглядит так:
GlobalConfiguration.Configuration.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional });
Я добавил контроллер под названием TestController в папку Project.Web / Controllers, и у него есть один метод, который просто возвращает такую строку:
public class TestController : ApiController
{
public string Get()
{
return "Test";
}
}
Если я попытаюсь зайти на свой сайт через mysite.local / api / test / get, я получу следующую ошибку:
{
"Message": "No HTTP resource was found that matches the request URI 'http://mysite.local/api/test/get'.",
"MessageDetail": "No type was found that matches the controller named 'test'."
}
Но если я запустил веб-сайт из Visual Studio 17, я смогу получить доступ к localhost: portnr / api / test / get без каких-либо ошибок.
Я безуспешно пытался добавить [Route()]
и [RoutePrefix()]
. Я также безуспешно пытался переместить Apicontroller в Project.Web / Controllers / Api.
Кто-нибудь знает, почему я могу связаться с ним через localhost, но не через имя домена?
С уважением, Дэвид