WCF FlatWSDL-如果您的主机是IIS,那么您将必要的代码粘贴在哪里

本文关键字:代码 在哪里 如果 FlatWSDL- 主机 WCF IIS | 更新日期: 2023-09-27 18:00:12

基本上,通过查看获得FlatWSDL的解决方案,我发现了以下内容:

  • http://weblogs.thinktecture.com/cweyer/2007/05/improving-wcf-interoperability-flattening-your-wsdl.html
  • http://wcfextras.codeplex.com/

WCF Extras看起来很有趣,但可能太多了,无法满足我的需求(它只是一个FlatWSDL)。所以,第一个链接指出了如何做到这一点,但事情是这样的。如果你在IIS中托管你的服务,这个代码会放在哪里?

WCF FlatWSDL-如果您的主机是IIS,那么您将必要的代码粘贴在哪里

我知道这是一个老问题(已经一年多了!)但由于我今天一直在玩这个问题,我认为应该尝试澄清这个问题。。。

答案就在这里http://blogs.msdn.com/b/dotnetinterop/archive/2008/09/23/flatten-your-wsdl-with-this-custom-servicehost-for-wcf.aspx

如该页面所述,您需要创建3个类-FlatWsdlFlatWsdlServiceHost弗拉特WsdlserviceHostFactory。然后,对于IIS中的宿主,请在.svc标记文件中添加对Factory类的引用。。。

<%@ ServiceHost Language="C#"
  Factory="{YourNamespace}.FlatWsdlServiceHostFactory"
  Service="{YourNamespace}.WcfService1"%>

此外,看起来这将在WCF 4.5中解决:)http://blogs.msdn.com/b/piyushjo/archive/2011/10/05/what-s-new-in-wcf-4-5-flat-wsdl-support.aspx

ServiceHostFactory就是答案,如下所述:http://msdn.microsoft.com/en-us/library/aa702697.aspx