служба wcf, размещенная под адресом IIS - PullRequest
0 голосов
/ 12 октября 2011

У меня есть служба WCF, размещенная в IIS. У меня есть следующая конфигурация:

<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-адрес?

Спасибо.

1 Ответ

0 голосов
/ 20 октября 2011

Чтобы иметь сервис без расширения, вам нужно использовать 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)));
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...