通过.asmx Url访问WCF服务

时间:2014-05-28 09:54:05

标签: wcf iis asmx

听起来如此,我遇到了以下情况:

  • 我在WCF服务库中开发了一个wcf服务,并将其托管在IIS(svc)上。 (现场\ myservice.svc)
  • 该服务应由Flash客户端使用,该客户端经过“培训”以使用Web服务。客户端通过WebServiceHandler.serverURL + serviceName +“.asmx?WSDL”检索服务引用
  • 有一个Web服务库,其中包含Flash应用程序使用的设置服务。该库具有以下位置site / webservices / library / [serviceName] .aspx

我需要做什么:

  • 可以在WebServiceHandler.serverURL + serviceName +“。asmx?WSDL”方法下访问我的服务

我所拥有的:

  • 我可以编辑的网络服务库的源代码
  • 我可以重建库并在目标服务器上部署
  • 在目标服务器上,我可以进行任何配置
  • IIS 7.5版

问题:

我是否真的需要将WCF服务降级为Web服务,还是有更优雅的方式来做同样的事情? (在配置文件上?对wcf方法的附加装饰?)

如果重构是唯一的方法 - 如何处理我在WCF服务中抛出的FaultExeptions?

1 个答案:

答案 0 :(得分:3)

设法通过配置文件解决我的问题

  1. 已下载的网址重写模块http://www.iis.net/downloads/microsoft/url-rewrite已安装
  2. 在我网站根级别的web.config中添加了

       <system.webServer>  
         <rewrite>
             <rules>
                 <rule name="SvcAsAsmx">
                     <match url="^Webservices/library/myservice.asmx(.*)$" />
                     <action type="Rewrite" url="myservice/myservice.svc{R:1}" />
                 </rule>
             </rules>
         </rewrite>
      </system.webServer>
    
  3. 更多信息和可能的问题排查方法如下:http://serena-yeoh.blogspot.co.at/2013/05/url-rewrite-on-iis-8-aspx-to-svc.html