【问题标题】:Problem hosting WCF service in IIS Express在 IIS Express 中托管 WCF 服务的问题
【发布时间】:2011-07-26 05:37:04
【问题描述】:

我们正在尝试在 IIS Express 7.5 (7.5.1046) 中托管 WCF 服务。 IIS Express 正确启动,但在尝试连接到我们的 .svc 文件时,我们收到异常消息“无法加载 DLL 'nativerd.dll':找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)” .

我们已搜索此 dll,它位于 %WINDIR%\system32\inetsrv\nativerd.dll 中。我们使用的 applicationHost.config 文件基于 IIS Express 安装在用户目录中的模板。

系统采用 Windows 7 作为操作系统,配置 Visual Studio 2010 SP 1 和 IIS 7.5 以运行 WCF 应用程序。

有人遇到过同样的问题吗?也许 IIS 对 IIS Express 安装有影响?

【问题讨论】:

    标签: .net wcf iis .net-4.0 iis-express


    【解决方案1】:

    在比较 IIS Express 的正常安装和失败的安装后,我们注意到问题在于用户的主目录中没有包含一些配置文件的“IISExpress\config”文件夹。此文件夹仅在安装 IIS Express 的用户的主目录中创建。只需将“config”文件夹复制到“My Documents\IISExpress”中其他用户的主目录,我们就可以运行 Web 服务,而不会出现其他问题。

    希望这对可能遇到同样问题的其他人有所帮助。

    【讨论】:

    • %userprofile%\documents\iisexpress\config 目录将由 iisexpress.exe 在其进程启动时创建(如果它不退出)。我不确定,您是如何在用户配置文件中没有 iisexpress\config 的!您是从命令行运行 iisexpress 还是从 WebMatrix 或 Visual Studio 使用它?
    • 我们从命令行启动它。这对我们来说似乎也很奇怪,但问题是我们不得不手动复制文件夹。我们正在与一个没有管理权限的用户合作,也许是因为这个。
    【解决方案2】:

    在我的情况下,WCF 项目正在正常打开,然后突然出现此错误(也使用 IIS express)。

    Web菜单下的项目属性中更改port后问题解决。

    更改自:

    http://localhost:50206/

    收件人:

    http://localhost:50207/

    刚刚向端口添加了 1。无法确切说明为什么会发生这种情况,在此之前我什至尝试删除我的文档中的 bin 和 obj 文件夹、IISExpress 文件夹,上述解决方案都没有帮助我,尽管它帮助了其他人。

    我希望有一天这对某人有所帮助。

    【讨论】:

    • 为我节省了大量时间,非常感谢 Alisson。我试图以管理员身份运行 VS2015,以便调试 WCF,因为我在某处读到 IIS Express 不支持 WCF。但只需更改端口号即可修复它。
    【解决方案3】:

    我认为当您升级 IIS express 时,它不会在您的 applicationhost.config 文件中添加一些条目。我移动了移动配置文件夹并重新运行了我的网络项目,然后它就被修复了

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      • 2022-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-26
      • 1970-01-01
      相关资源
      最近更新 更多