Динамические базовые адреса WCF в SharePoint - PullRequest
0 голосов
/ 19 апреля 2010

Я пытаюсь разместить службу WCF в SharePoint. Я настроил службу для совместимости с ASP.NET, чтобы разрешить мне доступ к HttpContext и информации о сеансе

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class MISDataService : IMISDataService { ... }

И моя конфигурация выглядит так

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    <services>
        <service name="MISDataService">
            <endpoint address="" binding="webHttpBinding" contract="MISDataViews.IMISDataService" />
        </service>
    </services>        
</system.serviceModel>

Хотя это дает мне доступ к текущему HTTP-контексту, служба всегда размещается в корневом домене, т.е. http://www.mydomain.com/_layouts/MISDataService.svc.

В SharePoint доступ к URL дает конкретную контекстную информацию о текущем сайте через класс SPContext. Поэтому, если служба размещена в виртуальном каталоге, я бы хотел, чтобы она была доступна по нескольким адресам, например

http://www.mydomain.com/_layouts/MISDataService.svc
http://www.mydomain.com/sites/site1/_layouts/MISDataService.svc
http://www.mydomain.com/sites/site2/_layouts/MISDataService.svc

, чтобы служба могла выяснить, какие данные возвращать, основываясь на текущем контексте.

Можно ли динамически настроить адрес конечной точки? Или единственная альтернатива - разместить службу в одном месте, а затем как-нибудь передать ей «контекст»?

1 Ответ

0 голосов
/ 20 апреля 2010

Не специалист WCF, но вы не можете указать конечную точку при подключении к услуге?

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