У меня есть существующее приложение, и мне нужно представить его части внешнему миру с различными службами для разных клиентов.
Если быть точным, оно уже запущено с одной службой WCF, и теперь мне нужно добавить вторуюслужба, совершенно не связанная с первой, для использования совершенно другим клиентом.
Когда я создал существующую службу, я добавил проект службы WCF в наше существующее решение, а затем создал новый "WCF".«Служба» и отредактировал его.
Итак, в Visual Studio макет папки выглядит следующим образом:
\MyServiceProject\IMyFirstService.cs
\MyServiceProject\MyFirstService.cs
\MyServiceProject\MyFirstService.csproj
\MyServiceProject\MyFirstService.svc
\MyServiceProject\Web.config
У нас есть скрипт сборки, который компилирует вещи и копирует файлы, а затем публикует папку в IISвыглядит так:
\MyFirstService\bin\MyServiceProject.dll
\MyFirstService\MyFirstService.svc
\MyFirstService\Web.config
(если я правильно помню, он работал только тогда, когда DLL находилась в подпапке с именем «bin», отсюда и копирование в сценарии сборки)
Теперь я хочу добавить еще один файл .svc.
Я бы предпочел не создавать второй проект службы WCF ... Я хотел бы добавить новую службу ввместо существующего проекта.
НО: второй сервис должен иметь права, отличные от первого (ограниченный внешний доступ, но для разных клиентов ...).
По словам нашего администратора, я должен поставитьвторой сервис во второй папке, чтобы мы могли предоставить ему другие разрешения.
Таким образом, развернутые сервисы должны выглядеть следующим образом:
\MyFirstService\MyFirstService.svc
\MySecondService\MySecondService.svc
Но это также означает, что другие файлы должны будутбыть дублированным:
\MyFirstService\bin\MyServiceProject.dll
\MyFirstService\Web.config
\MySecondService\bin\MyServiceProject.dll
\MySecondService\Web.config
Меня не волнует дублирование MyServiceProject.dll, но как насчет Web.config?
В Visual Studio есть только один файл, и если я хочу запустить службы вВ режиме отладки я должен добавить к нему обе службы.
Или я могу как-то разделить файл web.config, чтобы он работал в Visual Studio (когда обе службы находятся в одной папке) и развернут на IIS (где каждая службаесть своя папка)?
Есть идеи как это решить?
Или я что-то делаю совершенно неправильно?Этот материал WCF для меня совершенно новый, и все, что я до сих пор делал, было взломано вместе с помощью Google ...