У меня есть служба WCF, которая определена в модуле. Когда мы пытаемся вызвать эту службу из клиента, отличного от клиента по умолчанию, диспетчер контента всегда ссылается на наши настройки клиентов по умолчанию. При отладке внутри OrchardServiceHostFactory я заметил, что он в конечном итоге получает настройки для арендатора по умолчанию, потому что базовый адрес, который передается в метод CreateServiceHost
, всегда является нашим uri по умолчанию для арендаторов.
Учитывая, что я не совсем знаком с WCF, есть ли параметр конфигурации, который мне не хватает, что приводит к созданию службы WCF с адресом арендатора по умолчанию вместо арендатора по умолчанию?
Соответствующий код:
private static readonly Route _SITEMAP_SERVICE_ROUTE = new ServiceRoute("api/SitemapService", new OrchardServiceHostFactory(), typeof(ISitemapService))
{
DataTokens = new RouteValueDictionary
{
{
"area", "Project.Localization"
}
}
};
public interface ISitemapService : IOrchardSitemapService, IDependency
{
}
[ServiceContract]
public interface IOrchardSitemapService
{
[OperationContract]
int GetNavigableContentCount();
[OperationContract]
List<SitemapEntry> GetNavigableContent();
}