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

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

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

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

Если хост на IIS, то NetTcp вроде бы только с IIS 7 стал доступен.
...
Рейтинг: 0 / 0
26.04.2010, 17:51
    #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
26.04.2010, 18:30
    #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
Период между сообщениями больше года.
17.08.2011, 13:41
    #37399479
aleks-sam
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Привязки
Кто нибудь связал эти привязки вместе?
Клиент.NET и клиент Andrpid требуются для меня
...
Рейтинг: 0 / 0
18.08.2011, 10:54
    #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
20.08.2011, 05:12
    #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
22.08.2011, 08:48
    #37405556
aleks-sam
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Привязки
В том то и фича, что я так делал. Не помогло. Не помогло и то, что я создаю два сервиса.
Код: plaintext
1.
2.
3.
4.
5.
<services>
<service name="1">
</service>
<service name="2">
</service>
</services>
...
Рейтинг: 0 / 0
22.08.2011, 08:53
    #37405559
aleks-sam
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Привязки
Не могу понять, почему сервис стартует по такому пути в вижле
http://localhost:1818/XXXService.svc.
я же в конфиге прописал другие параметры или че то я не догоняю...
...
Рейтинг: 0 / 0
22.08.2011, 10:21
    #37405635
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Привязки
Разные протоколы возможны, но разные форматы сообщений - это врядли. Я так не пробовал.
...
Рейтинг: 0 / 0
22.08.2011, 11:23
    #37405770
aleks-sam
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Привязки
Да вот я тоже думаю, что никак. В нетах ничего путнего.
...
Рейтинг: 0 / 0
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Привязки / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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