Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WCF, Web Services, Remoting Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
 Несколько wcf сервисов в одном web.config  [new]
Alexander63
Member

Откуда: Одинцово
Сообщений: 272
Собственно вопрос в заголовке.

Вот часть config
<system.serviceModel>

    <behaviors>
      <endpointBehaviors>
        <behavior name="Basic" />
        <behavior name="WebJson">
          <webHttp defaultOutgoingResponseFormat="Json" automaticFormatSelectionEnabled="false" faultExceptionEnabled="true" helpEnabled="true"/>
        </behavior>
        <behavior name="WebXML">
          <webHttp defaultOutgoingResponseFormat="Xml" automaticFormatSelectionEnabled="false" faultExceptionEnabled="true" helpEnabled="true"/>
        </behavior>
      </endpointBehaviors>
      <serviceBehaviors>
        <behavior name="SettingsBehavior">
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
        <behavior name="UserManagerBehavior">
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>

    <bindings>
      <basicHttpBinding>
        <binding name="Basic" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:20:00" sendTimeout="00:20:00" maxBufferPoolSize="524288000" maxBufferSize="65536000" maxReceivedMessageSize="65536000">
          <readerQuotas maxDepth="65536000" maxStringContentLength="65536000" maxArrayLength="65536000" maxBytesPerRead="65536000" maxNameTableCharCount="65536000" />
        </binding>
      </basicHttpBinding>
      <webHttpBinding>
        <binding name="WebJson" crossDomainScriptAccessEnabled="True" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:20:00" sendTimeout="00:20:00" maxBufferPoolSize="524288000" maxBufferSize="65536000" maxReceivedMessageSize="65536000" >
          <readerQuotas maxDepth="65536000" maxStringContentLength="65536000" maxArrayLength="65536000" maxBytesPerRead="65536000" maxNameTableCharCount="65536000" />
        </binding>
        <binding name="WebXML" crossDomainScriptAccessEnabled="True" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:20:00" sendTimeout="00:20:00" maxBufferPoolSize="524288000" maxBufferSize="65536000" maxReceivedMessageSize="65536000" >
          <readerQuotas maxDepth="65536000" maxStringContentLength="65536000" maxArrayLength="65536000" maxBytesPerRead="65536000" maxNameTableCharCount="65536000" />
        </binding>
      </webHttpBinding>
    </bindings>

    <protocolMapping>
        <add binding="basicHttpsBinding" scheme="https" />
    </protocolMapping>  

    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />

    <services>
      <service name="SvcSettings.Settings" behaviorConfiguration="SettingsBehavior">
        <!-- конечная точка REST формат Json-->
        <endpoint address="json" behaviorConfiguration="WebJson" binding="webHttpBinding" bindingConfiguration="WebJson" name="WebJson" contract="SvcSettings.ISvcSettings" />
        <!-- конечная точка REST формат XML-->
        <endpoint address="xml" behaviorConfiguration="WebXML" binding="webHttpBinding" bindingConfiguration="WebXML" name="WebXML" contract="SvcSettings.ISvcSettings" />
        <!-- конечная точка SOAP -->
        <endpoint address="basic" binding="basicHttpBinding" behaviorConfiguration="Basic" bindingConfiguration="Basic" name="Basic" contract="SvcSettings.ISvcSettings" />
        <!-- конечная точка для чтения метаданных сервиса-->
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:7777/Settings.svc"/>
          </baseAddresses>
        </host>
      </service>
      <service name="SvcUserManager.UserManager" behaviorConfiguration="UserManagerBehavior">
         <!-- конечная точка REST формат Json-->
        <endpoint address="json" behaviorConfiguration="WebJson" binding="webHttpBinding" bindingConfiguration="WebJson" name="WebJson" contract="SvcUserManager.IUserManager" />
        <!-- конечная точка REST формат XML-->
        <endpoint address="xml" behaviorConfiguration="WebXML" binding="webHttpBinding" bindingConfiguration="WebXML" name="WebXML" contract="SvcUserManager.IUserManager" />
        <!-- конечная точка SOAP -->
        <endpoint address="basic" binding="basicHttpBinding" behaviorConfiguration="Basic" bindingConfiguration="Basic" name="Basic" contract="SvcUserManager.IUserManager" />
        <!-- конечная точка для чтения метаданных сервиса-->
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:7777/UserManager.svc"/>
          </baseAddresses>
        </host>
      </service>
    </services>

  </system.serviceModel>


Получаю ошибку Директива ServiceHost поддерживает только типы службы классов.
В чем я неправ.
Все хостится на локальном IIS/
21 фев 19, 14:06    [21816351]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Alexander63
Member

Откуда: Одинцово
Сообщений: 272
Что, никто не сталкивался с таким поведением?
Или никто не пытался скрестить несколько сервисов в одном web config?
21 фев 19, 14:58    [21816448]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Alexander63
Что, никто не сталкивался с таким поведением?
Или никто не пытался скрестить несколько сервисов в одном web config?
цель скрещивания бульдога с носорогом?
21 фев 19, 15:03    [21816456]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Alexander63
Member

Откуда: Одинцово
Сообщений: 272
цель - объединить два или несколько сервисов одним конфигурационным файлом.
21 фев 19, 15:04    [21816458]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Alexander63
Member

Откуда: Одинцово
Сообщений: 272
Сервисы работают с одной базой. Разделены только по функциональному признаку.
21 фев 19, 15:05    [21816460]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Alexander63
Сервисы работают с одной базой. Разделены только по функциональному признаку.
и что?
Если одна база, то это основание объединять в простыни нечитабельного кода?
Другая причина есть?
21 фев 19, 15:10    [21816476]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Alexander63
Member

Откуда: Одинцово
Сообщений: 272
Другой причины нет.
А что вы предложите?
21 фев 19, 15:10    [21816478]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
У тебя IIS тоже объединяет, хотя можно выкинуть его спокойно.
21 фев 19, 15:11    [21816480]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Alexander63
Другой причины нет.
А что вы предложите?
придумать себе работу если Цели нет (функциональной)?
21 фев 19, 15:16    [21816491]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Alexander63
Member

Откуда: Одинцово
Сообщений: 272
Только грубить не надо.
Если можете посоветовать что-то, пожалуйста. А флудить ни к чему.
21 фев 19, 16:56    [21816612]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3159
Alexander63
Собственно вопрос в заголовке.

Получаю ошибку Директива ServiceHost поддерживает только типы службы классов.
В чем я неправ.
Все хостится на локальном IIS/



There are two fundamental techniques you can use when specifying the address in Windows Communication Foundation. You can specify an absolute address for each endpoint or you can supply the ServiceHost with a base address and then specify relative paths for each endpoint. Specifying absolute addresses is a little easier to understand, but the base address technique typically makes things easier to manage

https://www.c-sharpcorner.com/uploadfile/dhananjaycoder/multiple-base-addresses-for-wcf-service/
21 фев 19, 17:07    [21816620]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Alexander63
Member

Откуда: Одинцово
Сообщений: 272
Так я и добавляю разные базовые адреса для сервисов
<services>
      <service name="SvcSettings.Settings" behaviorConfiguration="SettingsBehavior">
        <!-- конечная точка REST формат Json-->
        <endpoint address="json" behaviorConfiguration="WebJson" binding="webHttpBinding" bindingConfiguration="WebJson" name="WebJson" contract="SvcSettings.ISvcSettings" />
        <!-- конечная точка REST формат XML-->
        <endpoint address="xml" behaviorConfiguration="WebXML" binding="webHttpBinding" bindingConfiguration="WebXML" name="WebXML" contract="SvcSettings.ISvcSettings" />
        <!-- конечная точка SOAP -->
        <endpoint address="basic" binding="basicHttpBinding" behaviorConfiguration="Basic" bindingConfiguration="Basic" name="Basic" contract="SvcSettings.ISvcSettings" />
        <!-- конечная точка для чтения метаданных сервиса-->
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:7777/Settings.svc"/>
          </baseAddresses>
        </host>
      </service>
      <service name="SvcUserManager.UserManager" behaviorConfiguration="UserManagerBehavior">
         <!-- конечная точка REST формат Json-->
        <endpoint address="json" behaviorConfiguration="WebJson" binding="webHttpBinding" bindingConfiguration="WebJson" name="WebJson" contract="SvcUserManager.IUserManager" />
        <!-- конечная точка REST формат XML-->
        <endpoint address="xml" behaviorConfiguration="WebXML" binding="webHttpBinding" bindingConfiguration="WebXML" name="WebXML" contract="SvcUserManager.IUserManager" />
        <!-- конечная точка SOAP -->
        <endpoint address="basic" binding="basicHttpBinding" behaviorConfiguration="Basic" bindingConfiguration="Basic" name="Basic" contract="SvcUserManager.IUserManager" />
        <!-- конечная точка для чтения метаданных сервиса-->
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:7777/UserManager.svc"/>
          </baseAddresses>
        </host>
      </service>
21 фев 19, 17:13    [21816626]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Alexander63
Member

Откуда: Одинцово
Сообщений: 272
Или должны быть разные номера портов?
21 фев 19, 17:13    [21816628]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Petro123
Alexander63
функциональному признаку.
твои слова?
Очень верные слова.
Если у тебя два сервиса, то есть ДВА веб приложения, то странно их конфиг объединять.
Больше ты ничего не сообщал и не уточнял.
А хирурги в больнице тоже грубые. Обижаться на них?
21 фев 19, 17:14    [21816629]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Alexander63
Member

Откуда: Одинцово
Сообщений: 272
Приложение одно. Каюсь, что не указал сразу.
Меня интересует можно ли для разных сервисов использовать конечные точки с одинаковыми именами, но разными адресами?
21 фев 19, 17:19    [21816639]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Alexander63,
Ну дак приведи пример одногоВЕБ приложения с двумя сервисами.
Я такого не видел.
А URI это и есть разные адреса для двух веб приложений
21 фев 19, 17:51    [21816669]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Alexander63
Member

Откуда: Одинцово
Сообщений: 272
Что мы отвлеклись от темы.
Я всего лишь просил объяснить почему я получаю ошибку для приведенной конфигурации. (см. первый пост)
О web-приложениях речи не шло и не идет.
21 фев 19, 18:00    [21816692]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3159
Alexander63
Или должны быть разные номера портов?


а так:

<add baseAddress="http://localhost:7777/Settings.svc/"/>
<add baseAddress="http://localhost:7777/UserManager.svc/"/>
21 фев 19, 18:01    [21816695]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Alexander63
Member

Откуда: Одинцово
Сообщений: 272
Так я и добавляю эти базовые адреса.
Или их надо добавлять для каждого сервиса.
21 фев 19, 18:05    [21816700]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Alexander63
Что мы отвлеклись от темы.
Я всего лишь просил объяснить почему я получаю ошибку для приведенной конфигурации. (см. первый пост)
О web-приложениях речи не шло и не идет.

Мое имхо что:
Один сервис = одно приложение = один конфиг
Удачи!
21 фев 19, 18:06    [21816703]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Alexander63
Member

Откуда: Одинцово
Сообщений: 272
Я имел в виду по два адреса для каждого или каждому свой адрес (так это и делается)?
21 фев 19, 18:07    [21816705]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Ролг Хупин
Alexander63
Или должны быть разные номера портов?


а так:

<add baseAddress="http://localhost:7777/Settings.svc/"/>
<add baseAddress="http://localhost:7777/UserManager.svc/"/>
это один сервис.
21 фев 19, 18:07    [21816706]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Alexander63,
На протокол адрес свой.
21 фев 19, 18:09    [21816707]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Alexander63
Member

Откуда: Одинцово
Сообщений: 272
Settings.svc и UserManager.svc - это разные сервисы
21 фев 19, 18:15    [21816716]     Ответить | Цитировать Сообщить модератору
 Re: Несколько wcf сервисов в одном web.config  [new]
Alexander63
Member

Откуда: Одинцово
Сообщений: 272
Меня все таки интересует причина ошибки

Директива ServiceHost поддерживает только типы службы классов.
21 фев 19, 18:18    [21816721]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
Все форумы / WCF, Web Services, Remoting Ответить