【问题标题】:wcf service hosted under IIS addressIIS 地址下托管的 wcf 服务
【发布时间】:2011-12-05 23:17:51
【问题描述】:

我有一个托管在 IIS 下的 WCF 服务。 我有以下配置:

<services>
      <service name="BillboardServices.LoginService" behaviorConfiguration="LoginServiceBehavior">
        <host>
          <baseAddresses>
            <add baseAddress="http://myip/LoginService/" />
          </baseAddresses>
        </host>
        <endpoint address="" name="LoginService" binding="basicHttpBinding" contract="BillboardServices.ILoginService" />
          <endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
      </service>

如果我输入 http://myip/LoginService/,我会得到 404。 如果我输入http://myip/Service1.svc,我会得到服务元数据。

我需要对配置进行哪些更改才能通过漂亮的 url 访问服务?

谢谢。

【问题讨论】:

  • 您确定省略服务部分是否明智或有用?我只能看到版本控制和升级方面的问题。
  • @Henk - 这不是 WCF 服务的常见做法吗?

标签: wcf iis-7


【解决方案1】:

为了拥有无扩展服务,您需要使用 WCF 4 并在 global.asax 文件中初始化路由引擎,如下所示:

void Application_Start(object sender, EventArgs e)
    {
        RegisterRoutes();
    }

    private void RegisterRoutes()
    {
        // Edit the base address of Service1 by replacing the "Service1" string below
        RouteTable.Routes.Add(new ServiceRoute("Service1", new WebServiceHostFactory(), typeof(Service1)));
    }

【讨论】:

    猜你喜欢
    • 2022-12-13
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多