Windows Server 2012 R2,IIS,VS2013
我已经实现了ASP.NET Web API,当我在VS2013中调试时,它可以打开IE,并且我可以正确地调用Web API。 http://localhost:42508/api/log/111

我在VS2013中使用了“发布”,并将所有文件部署到D:\api_publish

现在,我设置了IIS,并在"Default Web Site"下添加了一个应用程序"serverapi"
现在,我将“物理路径”设置为D:\api_publish\bin(serverapi.dll在此处)。然后我使用下面的URL来访问API http://192.168.1.100/serverapi/api/log/111

但它返回404 - File or directory not found.
UPDATE :

在将“默认网站”设置为另一个文件夹路径,并将“物理路径”设置为D:\api_publish\之后,现在当我访问http://192.168.1.100/serverapi/api/log/111时,它将返回HTTP 500错误。

最佳答案

我在这里可以看到几个问题。

  • 物理路径应设置为D:\api_publish,而不是在bin文件夹中。
  • 检查应用程序池是否设置为使用.NET CLR Version v4

  • 如您在评论中提到的,默认网站已经指向相同的物理文件夹。您可以:
  • 将默认网站移动到另一个路径。
  • 使用默认网站而不是您创建的serverapi
  • 08-26 15:44