【发布时间】:2015-01-08 04:20:20
【问题描述】:
我用谷歌搜索过stackoverflow,以下没有帮助
RESTFul service works in IIS Express / VS2013 but not on IIS Server - 热修复运行时显示“更新不适用于您的计算机。”
Different result in IIS express and IIS - 没有运行 dotnetnuke 或 webmatrix
运行 Win7Pro,IIS7.5 安装 VS2013Pro udpate 3,安装 VS14CTP 但现在已卸载。
新建一个项目,选择Web Application,MVC+WebApi,通过nuget安装WebApi 2.2。 对应用程序不做任何更改,按 F5,应用程序以 chrome 启动,查看默认的 ASP.NET 站点,其中包含指向主页和 api 的链接。单击 Api 链接会转到描述可用 api 调用的帮助页面。
将站点发布到文件系统,创建新的 IIS 网站,将站点指向已发布的文件夹,将 defaultAppPool 用户添加到文件夹。从 IIS 管理器中浏览到站点。站点显示但不显示样式。将站点设置为 machinename:80 还尝试了 machinename:50102。不使用 SSL 或任何身份验证。
在 chrome 控制台中有 3 个错误(这在 IISExpress 中不会发生)
Uncaught SyntaxError: Unexpected token < modernizr:1
Uncaught SyntaxError: Unexpected token < jquery:1
Uncaught SyntaxError: Unexpected token < bootstrap:1
尝试导航到api链接,只是刷新页面,帮助页面没有显示。
使用 fiddler 尝试访问 IIS Express 中的一项服务按预期工作。使用 fiddler 尝试点击任何服务都会返回默认主页。
请记住没有对代码进行任何更改,只是创建了默认的 mvc+webapi 解决方案。
检查了 application_start(),它包含
GlobalConfiguration.Configure(WebApiConfig.Register); 作为第二行。
任何帮助将不胜感激。
【问题讨论】:
-
尝试访问 .css 文件或 .js 文件以查看返回的内容。看起来有些东西弄乱了你的文件。从控制台输出和没有加载样式的事实来看。缺少一些 MIME 类型?
-
当我点击控制台错误中的“modernizr”时,它返回默认页面。似乎一切都返回默认页面。可能是路由问题,但它在 IISExpress 下工作,所以我不知道可能出了什么问题。 IIS 日志,只显示“/”请求的 200 OK,日志中没有 404 或其他错误。
-
IIS 上有不同的 .NET 版本吗?
-
@HåkanFahlstedt,虽然不知道如何检查,但很有趣。应用程序池为 v4.0.30319,已集成。是同一台机器。当您按 F5 运行 Web 应用程序时,它使用 IIS Express。但是,为了进行尝试,我希望应用程序无需运行 VS 即可运行,因此我在同一台机器上发布到 IIS。
-
解决方案的目标框架设置为 .NET 4.5。不是 4.5.1 或 4.5.3,两者都出现在目标框架的下拉列表中。
标签: c# asp.net-mvc iis asp.net-web-api iis-express