Развертывание службы WCF в IIS 7.5
Я новичок в WCF. Я ищу шаги для развертывания WCF на IIS и использования службы. Я выполнил следующие действия, чтобы развернуть веб-сайт на IIS, а также установил для документа по умолчанию значение Service1.svc.
Теперь, когда я пытаюсь использовать этот сервис wcf, он выдает мне следующую ошибку.
Metadata contains a reference that cannot be resolved: 'http://manish-pc:8000/Service1.svc?wsdl'.
The WSDL document contains links that could not be resolved.
There was an error downloading 'http://manish-pc:8000/Service1.svc?xsd=xsd0'.
The underlying connection was closed: An unexpected error occurred on a receive.
Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
An existing connection was forcibly closed by the remote host
Metadata contains a reference that cannot be resolved: 'http://localhost:8000/Service1.svc'.
Content Type application/soap+xml; charset=utf-8 was not supported by service http://localhost:8000/Service1.svc. The client and service bindings may be mismatched.
The remote server returned an error: (415) Cannot process the message because the content type 'application/soap+xml; charset=utf-8' was not the expected type 'text/xml; charset=utf-8'..
If the service is defined in the current solution, try building the solution and adding the service reference again.
Follwing - это информация о моих услугах в файле Web.Config
<system.serviceModel>
<services>
<service behaviorConfiguration="DemoWCF.Service1Behavior" name="DemoWCF.Service1">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000/Service1.svc"/>
</baseAddresses>
</host>
<endpoint address="http://localhost:8000/Service1.svc"
binding="basicHttpBinding"
contract="DemoWCF.IService1"
bindingConfiguration="basicBinding">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="basicBinding" textEncoding="utf-8"></binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="DemoWCF.Service1Behavior">
<serviceMetadata httpGetEnabled="True" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
Пожалуйста, направьте меня туда, где мне не хватает и какие шаги предпринять. Благодарю.
1 ответ
После поиска в гугле и просмотра видео. Наконец-то я получил решение.
Эта ошибка возникает из-за конфигурации IIS, о которой я не беспокоился.
- откройте консоль диспетчера IIS.
- Сделайте отдельный пул приложений.
а). Установите версию.NET Framework на 4.0
б). Режим управляемого конвейера: Классический - Установите для идентификатора пула приложений значение "LocalSystem".
- Выполните те же действия, что и для развертывания веб-приложения в IIS, например, для создания виртуального каталога.
- Создайте виртуальный каталог, установите тот пул приложений, который вы создали.
И использовать службу WCF в клиентском приложении.
нажмите здесь, чтобы посмотреть видео
Просьба обновить эту ветку вопросов / ответов, если вы найдете больше об этом.
Спасибо:)