2009-06-20 92 views
0

我有一个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发布的WCF服务 - 失败,没有错误信息

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

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

如何获得有关服务无法显示的原因的更多错误消息?

回答

0

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

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

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

不好 - WCF日志记录仅适用于服务运行时。我甚至没有达到这一点 - 我坚持出版。 – tavistmorph 2009-06-21 17:40:09

0

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

希望它帮助

0

要在IIS 7发布WCF服务或8,你必须注册处理SVC扩展在web.config中

<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,版本= 3.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089,用于.Net 3.5)