创建Web Api并尝试从IIS运行它不起作用

时间:2018-10-04 07:54:51

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

当我从Visual Studio启动我的Web API应用程序时,一切似乎都运行良好。但是,当我尝试发布它并通过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 :(得分:1)

如果您添加了一个网站并将主机名留空,则应访问http://localhost:8080/api/person

答案 1 :(得分:1)

尝试将以下内容添加到您托管的web.config

<system.webServer>
  <modules>
    <remove name="UrlRoutingModule-4.0" />
    <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
  </modules>
</system.webServer>

答案 2 :(得分:0)

已解决。只需在高级设置中将身份设置为本地系统 img