Кто-нибудь знает, как нацелить другую сборку при указании вашего класса / сборки 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