【问题标题】:WCF URL QuestionWCF URL 问题
【发布时间】:2011-05-22 09:35:42
【问题描述】:

我对 Web 开发有点陌生,所以我不确定这里使用的术语。我有一个为 Windows azure 构建的 wcf Web 服务。我希望有多个端点解析到同一个服务,但是我不完全确定如何配置它。

这可能有助于更好地解释我想要什么:

目前,我在https://myapp.cloudapp.net/service.svc提供服务

我想让以下 url 指向应用程序中的相同服务:

https://myapp.cloudapp.net/myapp/service.svc

我确定这很容易做到,只是我还没有找到解决方案。

编辑:

我在 MSDN 上找到了这个文档:

http://msdn.microsoft.com/en-us/library/ms734786.aspx

但是,我似乎无法让它工作。

这是我的端点在 web.config 中的定义方式:

<services>
   <service behaviorConfiguration="MetadataEnabled" name="myProject.myApp.myService">
    <host>
      <baseAddresses>
        <add baseAddress="https://localhost/myService/" />
      </baseAddresses>
    </host>
    <endpoint address="" binding="wsHttpBinding" bindingConfiguration="wsBinding" name="wsBase" contract="myProj.myApp.IServ" />
    <endpoint address="mex" binding="mexHttpsBinding" bindingConfiguration="mexBinding" name="HttpMetadata" contract="IMetadataExchange" />
    <endpoint address="myApp/" binding="wsHttpBinding" bindingConfiguration="wsBinding" name="WsPlain" contract="myProj.myApp.IServ" />
  </service>
</services>

它仍然无法正常工作,但希望它越来越接近。希望有任何建议!

【问题讨论】:

    标签: wcf azure wcf-binding


    【解决方案1】:

    有一个WCF Routing Service 可能有用(或可能是矫枉过正)。

    另请参阅 Supporting Multiple IIS Site Bindings 和 Endpoint Addresses。

    【讨论】:

    • 感谢您的链接。我查看了几个示例,但似乎没有一个能够解决我正在尝试做的事情。
    【解决方案2】:

    这很简单,您可能已经这样做了,但是您是在 ServiceDefinition.csdef 中定义 InputEndpoints 吗?

    【讨论】:

    • 是的。我的输入端点如下所示:
    【解决方案3】:

    我刚刚找到了答案。我只需要在项目“myApp”中创建一个文件夹,并将 .svc 文件(不是 .svc.cs 文件)复制到该文件夹​​。这允许以下工作:

    myapp.cloudapp.net/service.svc myapp.cloudapp.net/myapp/service.svc

    【讨论】:

      猜你喜欢
      • 2015-04-13
      • 2013-02-06
      • 2010-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多