Я изучаю возможность развертывания служб WCF на ферме SharePoint / WebApplication / Site / Web через функцию SharePoint без использования класса SPWebConfigModification или ручного редактирования файла web.config. Исправление виртуального пути Gille уже применено, поэтому оно не учитывается. Самое дальнее, что я смог получить до сих пор, - это создание собственного класса ServiceHostFactory, на который я ссылаюсь в файле .svc, например:
<%@ ServiceHost Language="C#" Debug="true" Service="Company.Namespace.ServiceClass" Factory="Company.Namespace.CustomServiceHostFactory" %>
<%@ Assembly Name="Company.WCFCustomLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0000000000000000" %>
Я переопределяю ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
внутри своей фабрики хостов пользовательских служб и применяю различные конфигурации привязки / конечной точки внутри. Но проблема, с которой я сталкиваюсь, заключается в том, что метод даже не вызывается, когда я запрашиваю файл .svc в своем веб-браузере. У меня сложилось впечатление, что IIS попытается создать ServiceHost, используя указанную мной ServiceHostFactory, как только я вызову .svc в своем веб-браузере. Я полностью ошибаюсь? Кто-нибудь когда-нибудь пытался сделать что-то подобное раньше? Если так, то что-то мне не хватает? Возможно ли полностью настроить ServiceHost программно или мне все еще нужно возиться с тегами <system.serviceModel>
внутри web.config?