无法在 IIS 上运行 ASP.net 服务 (Windows 10) - 错误 404(未找到)

Cannot run ASP.net service on IIS (Windows 10) - error 404 (not found)

提问人:quilkin 提问时间:11/10/2016 最后编辑:quilkin 更新时间:11/17/2016 访问量:8567

问:

下面是方案:Windows 10、VS2015 更新 3。

asp.net 项目 .NET 4.5.2 创建新的空白“空”,并添加一个虚拟的“index.html”。 使用 IIS Express(默认)运行项目:运行正常。

将服务器更改为 IIS:获取 HTTP 错误 500.19 - 内部服务器错误、错误代码 0x80070021. 这表明 web.config 中的“modules”部分无效。所以我注释掉了那部分,然后再次运行。这给出了 404 错误。

我的 JavaScript 在 IIS 上运行良好,但似乎 IIS 没有启动 ASP.NET 服务 - 对该服务的每次 ajax 调用都会导致错误 404。所以我想web.config中缺少一些东西。我在system.servicemodel中有这个

<services>
  <service behaviorConfiguration="ServiceBehavior" name="WebMap.WebMap">
    <endpoint address="" behaviorConfiguration="EndpBehavior" binding="webHttpBinding"
      contract="WebMap.IWebMap" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>
</services>

文件 service1.svc 由

<%@ ServiceHost Language="C#" Debug="true" Service="WebMap.WebMap" CodeBehind="Service1.svc.cs" %>

注意:(1)两台不同的PC正在做同样的事情。(2)如果我创建一个新的“WebAPI”项目,而不是一个“空”项目,我会得到完全相同的结果,只是更多的部分需要注释掉“web.config”

asp.net IIS

评论

0赞 VDWWD 11/10/2016
错误表示 Web.Config 中存在错误。两台服务器上是否安装了相同的内容(例如默认情况下未安装的 IIS 重写模块)?500.19
0赞 quilkin 11/10/2016
如前所述,我发现(并处理)了 500.19 的含义。AFAIK IIS 重写模块在这里无关紧要,但如果其他人建议这样做,我会尝试一下。否则,我不想使我的安装复杂化。
0赞 Yuri S 11/12/2016
当您对applicationhost.config进行更改时,我怀疑问题就在那里。您提到 2 台 PC 也这样做。您是否曾经在另一台 PC 上更改过 applicationhost.config?IIS 是在 VS 之后安装的吗?
0赞 quilkin 11/12/2016
@Yuri,我没有更改笔记本电脑上的applicationhost.config,只更改了桌面。IIS 是在两者的 VS 之后安装的。我应该尝试重新安装 VS 吗?
0赞 Yuri S 11/12/2016
如果你不能做 aspregiis,我会重新安装 VS

答:

8赞 Yuri S 11/17/2016 #1

除了这里需要解决的问题之外,IIS - 此配置部分不能在此路径上使用(配置锁定?),还可以添加 HTTP 激活,如下所示

enter image description here

评论

0赞 quilkin 11/17/2016
在我的情况下,是HTTP激活做到了这一点。困惑于为什么它没有被 WCF 项目的 VS2015 自动激活。