ASP.NET Web Api в веб-формах - PullRequest
       13

ASP.NET Web Api в веб-формах

6 голосов
/ 02 марта 2012

Я пытаюсь использовать веб-API asp.net в WEB FORMS с Visual Studio 2010 (sp1). Я сделал следующие шаги http://myrandomykien.blogspot.com/2012/02/simplest-web-api-site-with-nuget.html

Когда я использую сервер разработки Visual Studio это работает , но когда я использую iis 7.5, я получаю сообщение об ошибке HTTP 404.0 - Not Found.

Edit

Это мой Global-asax

protected void Application_Start(object sender, EventArgs e)
        {
            RouteTable.Routes.MapHttpRoute(
              name: "DefaultApi",
              routeTemplate: "api/{controller}/{id}",
              defaults: new { id = System.Web.Http.RouteParameter.Optional }
            );
        }

Это класс API

public class GreetingController : ApiController
{
    public string GetGreeting(string id)
    {
        return String.Format("Hello {0}", id);
    }
}

1 Ответ

6 голосов
/ 02 марта 2012

Вы должны убедиться, что запросы без расширений направляются в ASP.NET, что по умолчанию выполняется вашим сервером разработки, но не IIS.

Есть несколько возможных подходов.

Во-первых, вы можете добавить runAllManagedModulesForAllRequests="true" в разделе модулей system.webServer. Некоторые люди утверждают, что есть лучшие методы, вы можете следовать им:

http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...