Создание веб-API и попытка запустить его из IIS не работает - PullRequest
0 голосов
/ 04 октября 2018

Когда я запускаю свое веб-приложение API от Visual Studio, кажется, все работает отлично.Но когда я пытаюсь опубликовать его и запустить через IIS7, он не работает.

Первый шаг - создание контроллера с именем Person.

public class PersonController : ApiController
{
    // GET: api/Person
    public IEnumerable<string> Get()
    {
        return new string[] { "value1", "value2" };
    }

    // GET: api/Person/5
    public string Get(int id)
    {
        return "value";
    }

    // POST: api/Person
    public void Post([FromBody]string value)
    {
    }

    // PUT: api/Person/5
    public void Put(int id, [FromBody]string value)
    {
    }

    // DELETE: api/Person/5
    public void Delete(int id)
    {
    }

Затем я выбираю Опубликовать,и выбрав IIS, FTP и т. д.Затем я выбираю Файловую систему и рутирую свой путь:

Path

Вот мои файлы внутри папки

Files

Затем внутри IIS я выбираю добавить новый веб-сайт:

Config

Теперь, когда я открываю и пытаюсь получить доступв моем контроллере я получаю сообщение об ошибке ниже: http://localhost:8080/FirstSite/api/person

ErrorImage

Что-то я делаю не так?Что-то не так с моими файлами, которые я экспортирую?

Chack configuration

Ответы [ 3 ]

0 голосов
/ 04 октября 2018

попробуйте добавить нижеприведенное в ваш web.config

<system.webServer>
  <modules>
    <remove name="UrlRoutingModule-4.0" />
    <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
  </modules>
</system.webServer>
0 голосов
/ 05 октября 2018

решаемая.Просто установите личность в дополнительных настройках как Локальная система img

0 голосов
/ 04 октября 2018

Если вы добавили сайт и оставили имя хоста пустым, вы должны получить доступ к своему API на http://localhost:8080/api/person

...