powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Привязки
11 сообщений из 11, страница 1 из 1
Привязки
    #36598962
cyssima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня один сервис, который выступает как и REST так и NetTcp.

Сейчас у меня запускается для Host-а: в одном REST, а в другом NetTcp. Настройки для адресов хранятся в app.config в appConfig.

Задумался над возможностью конфигурировния через system.serviceModel но вот вопрос, можно ли так сконфигурить для нескольких различных привязок! Для REST и для NetTcp одну и ту же службу? Или же придется все ручками делать (хосты создавать и настраивать)?

Подскажите, кто знает!
Спасибо.
...
Рейтинг: 0 / 0
Привязки
    #36599050
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В конфигурации можно создать 2-е привязки, но у сервиса будет задана только одна из них.
Можно программно создавать хост и выбирать нужную привязку.

Если хост на IIS, то NetTcp вроде бы только с IIS 7 стал доступен.
...
Рейтинг: 0 / 0
Привязки
    #36599081
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По идее так должно работать. Т.к. запросы по разным адресам - всё должно разрулиться
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<service name="MyService">

    <endpoint 

        address="tcp://localhost/MyService/MyService.svc" 

        binding="NetTcpBinding" 

        contract="IService" />

    <endpoint 

        address="http://localhost/MyService/MyService.svc" 

        binding="webHttpBinding" 

        contract="IService" />

</service>


...
Рейтинг: 0 / 0
Привязки
    #36599166
cyssima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема в том, что в этом случае......не работает REST почему то. Создаю хост ServiceHost. Но при правильном обращении все равно выдает:
Код: plaintext
1.
The message with To 'http://localhost/........' cannot be processed at the receiver, due to an AddressFilter mismatch at the EndpointDispatcher. Check that the sender and receiver's EndpointAddresses agree.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Привязки
    #37399479
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто нибудь связал эти привязки вместе?
Клиент.NET и клиент Andrpid требуются для меня
...
Рейтинг: 0 / 0
Привязки
    #37400989
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем вот конфиг сервака:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
<?xml version="1.0"?>
<configuration>
  <configSections>
  </configSections>
  <connectionStrings>
    <add name="XXXService.Properties.Settings.ConnectionString"
      connectionString="XXXXX"
      providerName="System.Data.SqlClient" />
  </connectionStrings>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
  </system.web>
  <system.serviceModel>
    <!--<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    <client />-->
    <services>
      
      <!--<service name="XXXService.XXXService" behaviorConfiguration="CProxyBehavior">
        <endpoint address="net.tcp://localhost:9027/XXXX" binding="netTcpBinding"
            bindingConfiguration="TcpBinding" bindingName="TcpBinding" contract="XXXService.IXXXService" />
        <endpoint address="mex" binding="mexTcpBinding" contract="XXXService.IXXXService"/>
      </service>-->

      <service name="XXXService.XXXService">
        <endpoint address="" binding="webHttpBinding" contract="XXXService.IXXXService" behaviorConfiguration="webHttp">
        </endpoint>
      </service>
    </services>

    <bindings>
      <netTcpBinding>
        <binding name="TcpBinding" openTimeout="00:03:00" sendTimeout="00:10:00"
            maxBufferSize="1024536252" maxReceivedMessageSize="1024536252">
          <readerQuotas maxArrayLength="2147483647" maxBytesPerRead="2147483647" />
        </binding>
      </netTcpBinding>
    </bindings>

    <behaviors>
      <endpointBehaviors>
        <behavior name="webHttp">
          <webHttp helpEnabled="true"/>
        </behavior>
      </endpointBehaviors>

      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="true"/>
        </behavior>
      
        <behavior name="CProxyBehavior">
          <serviceMetadata />
          <serviceThrottling />
          <dataContractSerializer maxItemsInObjectGraph="2147483647" />
        </behavior>

      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>


Как видно что:
Код: plaintext
1.
2.
3.
4.
      <service name="XXXService.XXXService">
        <endpoint address="" binding="webHttpBinding" contract="XXXService.IXXXService" behaviorConfiguration="webHttp">
        </endpoint>
      </service>
    </services>
Раскоментирован, в результате чего работает только в JSON формате.
Если данный кусок кода убрать и раскоментировать вот этот:
Код: plaintext
1.
2.
3.
4.
5.
      <!--<service name="XXXService.XXXService" behaviorConfiguration="CProxyBehavior">
        <endpoint address="net.tcp://localhost:9027/XXXX" binding="netTcpBinding"
            bindingConfiguration="TcpBinding" bindingName="TcpBinding" contract="XXXService.IXXXService" />
        <endpoint address="mex" binding="mexTcpBinding" contract="XXXService.IXXXService"/>
      </service>-->
То работает только с .NET приложением, что логично). Но вот если их обе раскоментировать то работает только с webHttpBinding привязкой, а хотелось бы чтоб работали сразу обе.
...
Рейтинг: 0 / 0
Привязки
    #37404339
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Множественные привязки работают, но для этого они должны иметь разные адреса
и заданы вместе для сервиса
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<service name="XXXService.XXXService" behaviorConfiguration="CProxyBehavior">
        <endpoint address="net.tcp://localhost:9027/nt" binding="netTcpBinding"
            bindingConfiguration="TcpBinding" bindingName="TcpBinding" contract="XXXService.IXXXService" />

 <endpoint address="http://localhost:9027/wh" binding="webHttpBinding" contract="XXXService.IXXXService" behaviorConfiguration="webHttp">
        </endpoint>
        <endpoint address="mex" binding="mexTcpBinding" contract="XXXService.IXXXService"/>

</service>

...
Рейтинг: 0 / 0
Привязки
    #37405556
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В том то и фича, что я так делал. Не помогло. Не помогло и то, что я создаю два сервиса.
Код: plaintext
1.
2.
3.
4.
5.
<services>
<service name="1">
</service>
<service name="2">
</service>
</services>
...
Рейтинг: 0 / 0
Привязки
    #37405559
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не могу понять, почему сервис стартует по такому пути в вижле
http://localhost:1818/XXXService.svc.
я же в конфиге прописал другие параметры или че то я не догоняю...
...
Рейтинг: 0 / 0
Привязки
    #37405635
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разные протоколы возможны, но разные форматы сообщений - это врядли. Я так не пробовал.
...
Рейтинг: 0 / 0
Привязки
    #37405770
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да вот я тоже думаю, что никак. В нетах ничего путнего.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Привязки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]