【问题标题】:Access a WCF service through a .asmx Url通过 .asmx Url 访问 WCF 服务
【发布时间】:2014-05-28 09:54:05
【问题描述】:

无论听起来如何,我都遇到过以下情况:

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

我需要做什么:

  • 可以通过 WebServiceHandler.serverURL + serviceName + ".asmx?WSDL" 方法访问我的服务

我有什么:

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

问题:

我真的需要将 WCF 服务降级为 Web 服务还是有更优雅的方法来做同样的事情? (通过配置文件?通过额外的 wcf 方法装饰?)

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

【问题讨论】:

    标签: wcf iis asmx


    【解决方案1】:

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

    1. 已下载 Url Rewrite Module 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>
      

    更多信息和可能的故障排除在这里:http://serena-yeoh.blogspot.co.at/2013/05/url-rewrite-on-iis-8-aspx-to-svc.html

    【讨论】:

      猜你喜欢
      • 2010-11-15
      • 1970-01-01
      • 2017-05-10
      • 1970-01-01
      • 1970-01-01
      • 2012-04-08
      • 1970-01-01
      • 2017-12-01
      • 1970-01-01
      相关资源
      最近更新 更多