C# WCF: Наличие единственного app.config в общей библиотеке, которая обеспечивает доступ к Сервису

Платформа сущностей по умолчанию использует отложенную загрузку, либо вы настроены на активную загрузку и всегда загружаете свои ссылки, либо запрашиваете свои коллекции по запросу базы данных. Пример:

_dbcontext.Team.Include(team => team.Mileages).ToList();
5
задан Community 23 May 2017 в 11:47
поделиться

1 ответ

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

У вас есть несколько вариантов, каждый из которых имеет свою модель развертывания.

  1. Жестко закодируйте информацию о конечной точке в вашей библиотеке «Шлюз» (общий термин для этого - «прокси»). Вы просто вернете новый DBInteractionGatewayClient (привязка, адрес); Для этого решения вы должны распространять только ту сборку, в которой был ваш код WSGateway (в дальнейшем называемый «WSGateway Assembly».
  2. ). Создайте общий файл конфигурации, к которому имеют доступ все сайты. Если все это службы на одном компьютере, это это легко сделать. Поместите данные конфигурации в общее расположение на общем диске и считайте их оттуда. Если вы хотите, чтобы был доступен полный спектр возможных конфигураций WCF, вам нужно использовать метод ConfigurationManager.OpenMappedExeConfiguration и прочитать его вручную и примените его вручную к привязке, прежде чем открывать клиентский канал.Для этого вы должны убедиться, что центрально расположенный файл конфигурации доступен, и распространить вам сборку WSGateway.
  3. Переместите вашу конфигурацию на общий ресурс, доступный из всех приложений, например, в базу данных. Это позволит вам получить доступ к этим данным конфигурации из любой точки вашего решения. Для этого решения вы должны убедиться, что ваша база данных конфигурации была доступна со всех точек в вашем решении, и распространить вашу сборку WSGateway.

Это решения, которые я мог придумать в своей голове. Сообщите нам, что вы решили делать.

3
ответ дан 15 December 2019 в 06:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: