如何解决“HTTP错误404.3 - 未找到”错误?

时间:2009-10-06 21:58:35

标签: c# visual-studio-2008 iis-7 wcf http-status-code-404

简单的问题。我启动VS2008并创建一个新的WCF服务应用程序。这将创建一个默认应用程序,其中包含一些显示其可用的测试方法。我按CTRL + F5确实有效!大!但是,它使用Visual Studio Development服务器,我不想支持它。

所以我转到项目属性,切换到使用本地IIS Web服务器,创建虚拟目录并再次按CTRL + F5。而这个“HTTP错误404.3 - 未找到”错误让我回想起来。

因此我的IIS7 / Vista-64设置中出现了错误。我能错过什么?

6 个答案:

答案 0 :(得分:26)

点击开始 - >运行cmd并输入:

cd "\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation"
ServiceModelReg.exe -i

答案 1 :(得分:24)

如果您是第一次遇到此问题。使用Windows 8和IIS 8.0时,请确保激活 Windows Communication Foundation HTTP 窗口功能。

  1. 转到控制面板,选择“程序和功能”
  2. 从升降手侧菜单中选择“打开或关闭Windows功能”
  3. 展开“。Net Framework 3.5(包括.NET 2.0和3.0)”项目
  4. 最后选择“Windows Communication Foundation HTTP激活”
  5. 享受 WCF Servcie

答案 2 :(得分:10)

然而,问题是将ASP.Net重新注册到IIS,这将在下面解释。

如果您使用的是64位计算机,请始终使用Framework64路径:C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319> aspnet_regiis.exe -iru

以下是Microsoft的解释:

http://download.microsoft.com/download/0/A/E/0AEB3BC1-506E-4954-8AB1-4FA2EE75985C/ReleaseNotes.docx

尝试运行通过HTTP传输接收消息的服务时,您可能会收到类似于以下内容的错误:

无法从程序集'System.ServiceModel,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'加载类型'System.ServiceModel.Activation.HttpModule'。

描述:执行当前Web请求期间发生了未处理的异常。查看堆栈跟踪以获取有关错误及其在代码中的起源位置的更多信息。 异常详细信息:System.TypeLoadException:无法从程序集'System.ServiceModel,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'加载类型'System.ServiceModel.Activation.HttpModule'。

安装.NET Framework 4后安装IIS,或者在安装IIS和.NET Framework 4后安装了3.0版本的WCF Http Activation模块时,可能会发生此错误。

要解决此问题,必须使用ASP.NET IIS注册工具(Aspnet_regiis.exe)注册正确的ASP.NET版本。这可以通过在运行aspnet_regiis.exe时使用-iru参数来完成,如下所示:

aspnet_regiis.exe -iru

并且信用,它应该到期:Source

答案 3 :(得分:6)

我不得不在Windows Server 2012中的“添加角色服务”中勾选“HTTP激活”。

答案 4 :(得分:3)

尝试通过扩展您的Internet信息服务来安装IIS,然后在全球的根目录中检查ASP.Net 3.5或ASP.Net 4.5和ISAPI .... 请查看图片以获取更多帮助enter image description here

答案 5 :(得分:1)

我尝试使用各种标志运行ServiceModelReg和aspnet_regiis.exe并添加了HTTP激活功能但它仍然无效。最终工作的是手动将以下处理程序添加到我的web.config文件中。

<system.webServer>
    <handlers>
      <add name="svc-Integrated" path="*.svc" verb="GET,HEAD,POST,DEBUG" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" modules="ManagedPipelineHandler" scriptProcessor="" resourceType="Unspecified" requireAccess="Script" allowPathInfo="false" preCondition="integratedMode" responseBufferLimit="4194304" />

我的项目正在运行.Net 3.5和IIS为7.5和7.0。

相关问题