【问题标题】:IIS publish of WCF service -- fails with no error messageWCF 服务的 IIS 发布 - 失败,没有错误消息
【发布时间】:2010-11-04 13:29:18
【问题描述】:

我有一个 WCF 服务,我从 Visual Studio 2008 发布到 IIS 6。根据 VS 的输出窗口,发布成功,没有错误消息或警告。当我查看 IIS 时,创建了虚拟目录,但目录中没有列出 .svc。该目录只有我的 web.config 和一个 bin。任何调用我的 WCF 服务的尝试都会失败,因为它们不存在。 我怎样才能看到出错信息? 通过反复试验,我发现在发布之前更改我的 app.config 会使服务出现。即我的 app.config 文件有以下几行: <binding ...> <security mode="Transport"> <transport clientCreditionalType="None"/> </security> </binding>

如果我将“传输”切换为“无”,那么我的服务会显示在 IIS 上。但是我确实在服务器上的 IIS 上安装了一个证书,据我所知,服务器上的所有配置都正确。

事件日志中没有错误消息。

我如何才能找到更多关于服务未能显示的错误消息?

【问题讨论】:

    标签: wcf iis


    【解决方案1】:

    尝试使用 IIS 6.0 将您的 WCF 项目原样复制到您的机器上,而不使用 VS 的 Publish。如果有帮助,那么问题出在 VS 内,否则问题出在 IIS 上。确保 .NET Framework 3.5 和 ASP.NET 安装在 IIS 计算机上。然后确保有 .svc 扩展名的映射处理程序。

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      要了解更多信息,请打开 wcf 日志记录。最简单的方法是使用 wcf 配置工具。

      根据您的评论进行编辑:我们发布服务的方式是使用 setup 项目创建一个 msi 包。有几个输出需要包括在内:

      1. 主要输出(即 dll 的)必须进入 bin 目录。
      2. 内容输出。您必须创建 svc 文件并将它们标记为内容。

      【讨论】:

      • 不好 -- WCF 日志记录仅在服务运行时应用。我什至还没有达到这一点——我被困在出版上。
      【解决方案3】:

      要在 IIS 7 或 8 中发布 WCF 服务,您必须在 web.config 中为 svc 扩展注册处理程序:

      <system.webServer>
        <handlers>
          <add name="svc" path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        </handlers>
      </system.webServer>
      

      (System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 for .Net 3.5)

      【讨论】:

        猜你喜欢
        • 2018-12-16
        • 1970-01-01
        • 1970-01-01
        • 2021-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-20
        • 2021-12-04
        相关资源
        最近更新 更多