Web.config не используется в IIS для WCF - PullRequest
0 голосов
/ 28 августа 2018

У меня есть служба WCF, работающая в IIS. Я следовал этому руководству, чтобы разместить его в IIS: https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/how-to-host-a-wcf-service-in-iis

У меня есть простой файл Web.config, который не распознается службой:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
  </appSettings>
  <system.serviceModel>
    <services>
      <service name="MyApp.Service1">
        <endpoint address=""
              binding="wsHttpBinding"
              contract="MyApp.IService1" />

    <endpoint address="mex"
              binding="mexHttpBinding"
              contract="IMetadataExchange" />
  </service>
</services>
  </system.serviceModel>
</configuration>

Когда я запускаю эту строку кода, я получаю ошибку: объект не установлен на экземпляр объекта:

var test = ConfigurationManager.AppSettings["aspnet:UseTaskFriendlySynchronizationContext"];
var x = test.ToString();

У меня есть файл Web.config в той же папке, что и DLL. Весь сервис находится в wwwroot.

Есть ли какие-то настройки, которые я пропускаю, чтобы заставить web.config действительно работать? Что-то в IIS мне нужно настроить для использования web.config? Что мне сделать, чтобы IIS распознал мой web.config?

1 Ответ

0 голосов
/ 29 августа 2018

Сбой ваших файлов app.config вступает в силу является основной причиной этой проблемы. Как указано в примере.

  • Создайте новый файл с именем "service.svc" в каталоге приложения

  • Создайте файл с именем «Web.config» в каталоге приложения

Если вы хотите разместить проект библиотеки служб wcf в IIS, выполните следующие действия.

Вы должны переместить код конфигурации в файл конфигурации, распознаваемый вашей средой хостинга. И тогда вы сможете правильно читать web.config.

Да, это библиотека классов обслуживания. Не уверен, что вы подразумеваете под конфигурационным файлом приложения. Это app.config?

Вот официальный документ о том, как развернуть сервисную библиотеку wcf.

https://docs.microsoft.com/en-us/dotnet/framework/wcf/deploying-a-wcf-library-project

Вообще говоря, мы используем app.config в хостинг-среде службы Windows для wcf.

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