Asp.net 发布Web Api(MVC 4)

Asp.net 发布Web Api(MVC 4),asp.net,asp.net-mvc,rest,asp.net-web-api,Asp.net,Asp.net Mvc,Rest,Asp.net Web Api,我根据和构建了一个RESTAPI,当我从VisualStudio2012运行应用程序时,一切似乎都正常工作 问题是当我发布(到文件系统)时,我在wwwroot下得到一个新文件夹,一些文件放在那里,但当我尝试访问http://localhost:82/my_published_api/我只看到一个看似无用的文件列表,http://localhost:82/my_published_api/api/和http://localhost:82/my_published_api/api/contact/它

我根据和构建了一个RESTAPI,当我从VisualStudio2012运行应用程序时,一切似乎都正常工作

问题是当我发布(到文件系统)时,我在wwwroot下得到一个新文件夹,一些文件放在那里,但当我尝试访问
http://localhost:82/my_published_api/
我只看到一个看似无用的文件列表,
http://localhost:82/my_published_api/api/
http://localhost:82/my_published_api/api/contact/
它实际上是从VStudio运行的

我错过什么了吗?发布到目录并访问api模块需要什么

编辑一些额外信息:

这是
web.Config
中的
system.web
部分:

<system.web>
<httpRuntime/>
<compilation debug="true" targetFramework="4.0"/>
<pages controlRenderingCompatibilityVersion="4.0">
  <namespaces>
    <add namespace="System.Web.Helpers"/>
    <add namespace="System.Web.Mvc"/>
    <add namespace="System.Web.Mvc.Ajax"/>
    <add namespace="System.Web.Mvc.Html"/>
    <add namespace="System.Web.Routing"/>
    <add namespace="System.Web.WebPages"/>
  </namespaces>
</pages>
</system.web>

并且预生产发布版本正在
http://localhost:82/my_published_api/
(这是在Visual Studio运行时服务器在
http://localhost:51976/api/contact/
(这个运行正常)

预生产站点是Windows 7下的IIS,真正的生产站点将是Windows server 2003


谢谢

`我只看到一个似乎无用的文件列表`
bin(dir)/packages.config/PrecompiledApp.config/Web.config
。我没有一个
domain.com
,但有一个
localhost
,它有几个文件夹(站点)在工作,这是一个开发环境,据我所知没有自定义路由。你在IIS中托管这个吗?我猜IIS没有意识到你的应用程序正在使用路由。确保您的webconfig引用的是system.web.mvc和system.web.routing。您始终可以创建一个空白的mvc应用程序并比较configs@K.Weber,此IIS站点是配置为虚拟目录还是主站点下的子文件夹?@Tascalator,感谢您的链接,将查看路由是否有问题。其他.NET应用程序已在此IIS中运行