Различные сервисные сборки WCF на основе определения сборки - PullRequest
1 голос
/ 18 марта 2011

Кто-нибудь знает, как нацелить другую сборку при указании вашего класса / сборки Service в SVC-файле тега объявления ServiceHost?Я хочу настроить таргетинг на другое имя сборки на основе определений отладки и выпуска.Другой аспект этого заключается в том, что я использую Autofac и AutofacServiceHostFactory для обработки DI в моих классах обслуживания.

Я испробовал несколько подходов директивы препроцессора, но каждый из них приводит к «Директиве ServiceHost можно указать только один раз».Вот пример кода, когда я получаю эту ошибку.

<% #if DEBUG %>
    <%@ ServiceHost
        Service="MyNamspace.TestService, MyNamspace_DEBUG"
        Factory="Autofac.Integration.Wcf.AutofacServiceHostFactory, Autofac.Integration.Wcf" %>
<% #else %>
    <%@ ServiceHost
        Service="MyNamspace.TestService, MyNamspace"
        Factory="Autofac.Integration.Wcf.AutofacServiceHostFactory, Autofac.Integration.Wcf" %>
<% #endif %>

Я знаю, что могу решить эту проблему с помощью дублирования файлов SVC для каждого, а затем только развертывания соответствующего файла SVC на основе сборки, которой я являюсь в настоящее время.делаю, но я думаю, что должен быть более простой способ.Любая / вся помощь очень ценится.

Я знаю, что справился бы с этим, если бы не использовал файлы IIS и SVC для размещения своего сервиса, но я бы хотел, чтобы, если это возможно, он размещался на IIS.

ОБНОВЛЕНИЕ 1 В поисках этого больше я наткнулся на эту статью, в которой говорится об использовании VirtualPathProvider для динамического генерирования вывода SVC.Это, вероятно, будет работать для того, что я хочу, и я, вероятно, должен был подумать об этом раньше.Я все еще чувствую, что должен быть более простой способ сделать это, но не могу найти его.Я опубликую свою информацию о том, как это работает, если это действительно работает ниже.Если у вас есть лучший подход, я открыт для всех идей.

http://social.msdn.microsoft.com/Forums/en/wcf/thread/350f2cb6-febd-4978-ae65-f79735d412db

1 Ответ

2 голосов
/ 18 марта 2011

Я предлагаю использовать активацию на основе конфигурации (только WCF 4) и использовать другой шаблон конфигурации для отладки и выпуска (или использовать svc для выпуска и настройки для отладки).

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