【问题标题】:ASP.NET, WCF: ASP.NET application consuming WCF service hosted in a local windows serviceASP.NET、WCF:ASP.NET 应用程序使用托管在本地 Windows 服务中的 WCF 服务
【发布时间】:2011-01-07 09:19:02
【问题描述】:

我有一个 WCF 服务在本地运行,由机器 A 上的 Windows 服务托管。

我在机器 B 上的 IIS 中托管了一个 ASP.NET 应用程序。

我的问题是,如果我通过机器 A 上的浏览​​器运行 ASP.NET 应用程序,它是否能够使用本地 WCF 服务?

【问题讨论】:

    标签: asp.net wcf windows-services


    【解决方案1】:

    只要页面中使用的服务地址指向机器A就可以了。

    【讨论】:

    • 另一个问题,我们是否必须将 WCF 配置存储在 web.config 中,这是否意味着所有 Web 客户端都必须共享相同的配置?目的是让许多客户端都使用此设置运行。我只是不太确定如何处理这种情况的配置。
    • 您可以在 web.config 文件中存储多个绑定等。
    【解决方案2】:

    是的,只要你的配置有效,服务在哪台服务器上使用都没有关系。

    是的 - 客户端都必须使用相同的配置 - 您基本上需要指定“WCF 的 ABC” - 地址、绑定(可能还有绑定配置)和合同 - 您的服务的 WHERE、HOW 和 WHAT .

    您可以使用此方法在服务器和客户端之间共享大量配置(尤其是绑定配置):外部化配置的某些部分。

    在你的服务器中,有类似的东西:

    <system.serviceModel>
       <bindings configSource="bindings.config" />
    </system.serviceModel>
    

    然后在您的 bindings.config 文件中,定义:

    <bindings>
      <basicHttpBinding>
         <binding name="BasicNoSecurity">
             <security mode="None" />
         </binding>
      </basicHttpBinding>
    </bindings>
    

    这样,您可以将该文件 bindings.config 复制到客户端,并从客户端的配置文件中引用它 - 共享相同的信息并确保它在通信的两端都是相同且最新的。

    这也适用于&lt;system.serviceModel&gt; 下的任何其他小节(如行为、扩展等)。

    【讨论】:

      猜你喜欢
      • 2011-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多