Сопоставление URL-адресов для собственных служб WCF - PullRequest
1 голос
/ 06 марта 2011

У меня есть DLL-библиотека службы WCF, и при отладке она автоматически размещается, и это пользовательское сопоставление URL работает:

    [OperationContract]
    [WebInvoke(Method = "GET", UriTemplate = "widget/{myid}")]
    public Widget GetWidget(string myid) {...

В моем файле конфигурации:

<system.webServer>
  <modules runAllManagedModulesForAllRequests="true">
  <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=c03f5f7f11d50a3b" />
  </modules>
  </system.webServer>

Однако я хочуразмещать внутри моего собственного сервиса, поэтому я думаю, что вместо этого он использует раздел конфигурации system.serviceModel, и поэтому я не могу использовать System.Web.Routing.UrlRoutingModule.

У меня работает служба самообслуживания;однако он автоматически вызывает мой URL GetWidget вместо widget/{myid}.Поэтому он не использует мой атрибут WebInvoke.

Если я вручную размещаю свою службу WCF в собственной службе Windows NT через объект ServiceHost, как я могу по-прежнему поддерживать настраиваемые URL-адреса с таким же типом сопоставления?

1 Ответ

0 голосов
/ 06 марта 2011

Проблема в том, что мне нужно было указать веб-привязку webHttpBinding согласно этому ответу .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...