powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Нужен совет по кофнигурации WCF
16 сообщений из 16, страница 1 из 1
Нужен совет по кофнигурации WCF
    #38283092
IamGrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте,подскажите ,пожалуйста,как реализовать связь клиентов со службой по локальной сети?на локальном работает всё, служба хостится в Win службе.
Код: xml
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.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <behaviors>
            <serviceBehaviors>
                <behavior name="Metadata">
                    <serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost:8080/testService/meta" />
                </behavior>
            </serviceBehaviors>
        </behaviors>
        <bindings>
            <basicHttpBinding>
                <binding name="NoSecBinding" />
              
            </basicHttpBinding>
        </bindings>
        <services>
            <service behaviorConfiguration="Metadata" name="testServiceLib.testService">
                <clear />
                <endpoint address="http://localhost:8080/testService" binding="basicHttpBinding"
                    bindingConfiguration="NoSecBinding" contract="testServiceLib.Itest"
                    listenUriMode="Explicit" />
                <endpoint address="net.tcp://localhost:8081/testService" binding="netTcpBinding"
                    bindingConfiguration="" contract="testServiceLib.Itest" />
          <endpoint address="http://localhost:8080/testService/mex" binding="mexHttpBinding"
                        contract="IMetadataExchange"/>
              <endpoint address="net.tcp://localhost:8081/testService/mex" binding="mexTcpBinding"
                        contract="IMetadataExchange"/>
              <endpoint address="net.tcp://192.168.0.7:8083/testService/mex" binding="mexTcpBinding"
                      contract="IMetadataExchange"/>
            </service>
        </services>
    </system.serviceModel>
</configuration>


вот примерная конфигурация хоста
...
Рейтинг: 0 / 0
Нужен совет по кофнигурации WCF
    #38283187
Sergey TSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IamGrey,

Вообще не должно быть разницы, на одной машине или в локальной сети находится служба и клиент, все должно работать. Причина в другом может быть. Правильные ли указаны адреса у службы и клиента? Если ли права у службы (firewall, брандмауэр не блокирует)? Служба успешно запустилась и работает? Ну и если все нормально, то какая ошибка вылетает?
...
Рейтинг: 0 / 0
Нужен совет по кофнигурации WCF
    #38283213
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>IamGrey, сегодня, 00:36 [14381621]
>Здравствуйте,...

На удаленном компьютере разреши удаленный доступ (Панель управления --> Система --> ... --> Свойства системы --> Удаленный доступ) и посмотри межсетевой экран на предмет доступа к нужным портам.

С уважением, Владимир.
...
Рейтинг: 0 / 0
Нужен совет по кофнигурации WCF
    #38284255
IamGrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey TSV,
т.е я на хосте пишу для net.tcp://localhost:<порт>/ ,а на клиенте уже указывать могу net.tcp://192.168.0.7/ к примеру?
...
Рейтинг: 0 / 0
Нужен совет по кофнигурации WCF
    #38284258
IamGrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВМоисеев,

Спасибо,сегодня попробую
...
Рейтинг: 0 / 0
Нужен совет по кофнигурации WCF
    #38284361
IamGrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот код службы
Код: xml
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.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>

  <system.web>
    <compilation debug="true" />
  </system.web>
  
  <system.serviceModel>
    <services>
      <service name="testServiceLib.testService">
        <host>
          <baseAddresses>
         
           <add baseAddress = "net.tcp://localhost:8081/testService" /> 
      
          </baseAddresses>
        </host>
   
                  <endpoint address =""
                           binding="netTcpBinding"
                           contract="testServiceLib.Itest" />

        <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange"/>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior>
                   <serviceDebug includeExceptionDetailInFaults="False" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>



вот конфиг хоста (пока он просто в консольном приложении)
Код: xml
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.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <behaviors>
            <serviceBehaviors>
                <behavior name="Metadata">
                    <serviceMetadata httpGetEnabled="false" httpGetUrl="" />
                </behavior>
            </serviceBehaviors>
        </behaviors>
        <bindings>
            <basicHttpBinding>
                <binding name="NoSecBinding" />
              
            </basicHttpBinding>
        </bindings>
        <services>
            <service behaviorConfiguration="Metadata" name="testServiceLib.testService">
                <clear />
      
          <endpoint address="net.tcp://localhost:80/testService" binding="netTcpBinding"
                    bindingConfiguration="" contract="testServiceLib.Itest" />
      
            <endpoint address="net.tcp://localhost:80/testService/mex" binding="mexTcpBinding"
                        contract="IMetadataExchange"/>
             
            </service>
        </services>
    </system.serviceModel>
</configuration>



и вот конфиг клиента
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <bindings>
            <netTcpBinding>
                <binding name="NetTcpBinding_Itest" />
            </netTcpBinding>
        </bindings>
        <client>
            <endpoint address="net.tcp://localhost:80/testService" binding="netTcpBinding"
                bindingConfiguration="NetTcpBinding_Itest" contract="ServiceReference1.Itest"
                name="NetTcpBinding_Itest">
                <identity>
                    <userPrincipalName value="GGREYZ\Сергей" />
                </identity>
            </endpoint>
        </client>
    </system.serviceModel>
</configuration>




в итоге,даже на локальной машине выдает ошибку :Не удалось подключиться к net.tcp://localhost:80/testService. Попытки подключения выполнялись в течение интервала времени 00:00:02.0826628. Код ошибки TCP 10061: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение 127.0.0.1:80.

Вариации портов пробовал различные, фаерволы,брандмауэр отключены
...
Рейтинг: 0 / 0
Нужен совет по кофнигурации WCF
    #38284367
IamGrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
насчет вариации портов наврал,по порту 8732 всё сработало, тогда вот вопрос,если я на клиенте пропишу вот такой конфиг:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <bindings>
            <netTcpBinding>
                <binding name="NetTcpBinding_Itest" />
            </netTcpBinding>
        </bindings>
        <client>
            <endpoint address="net.tcp://192.168.0.7:8732/testService" binding="netTcpBinding"
                bindingConfiguration="NetTcpBinding_Itest" contract="ServiceReference1.Itest"
                name="NetTcpBinding_Itest">
              
            </endpoint>
        </client>
    </system.serviceModel>
</configuration>


где 192.168.0.7:8732 адрес машины,где располагается служба,должно работать?или же на хосте надо прописывать дополнительную точку? что-то по типу:
Код: xml
1.
2.
3.
4.
 <endpoint address="net.tcp://192.168.0.7:8732/testService" binding="netTcpBinding"
                    bindingConfiguration="" contract="testServiceLib.Itest" />
<endpoint address="net.tcp://192.168.0.7:8732/testService/mex" binding="mexTcpBinding"
                        contract="IMetadataExchange"/


P.S. работу на клиенте по сети,нет возможности проверять постоянно, поэтому извиняюсь за подобное вопросы
...
Рейтинг: 0 / 0
Нужен совет по кофнигурации WCF
    #38284472
IamGrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробовал запустить с другого компа ошибка:Дополнительные сведения: Во время проверки подлинности не были выполнены требования безопасности удаленного узла. Попробуйте увеличить ProtectionLevel или ImpersonationLevel.

конфиг клиента:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="NetTcpBinding_Itest" />
</netTcpBinding>
</bindings>
<client>
<endpoint address="net.tcp://192.168.0.7:8732/testService" binding="netTcpBinding"
bindingConfiguration="NetTcpBinding_Itest" contract="ServiceReference1.Itest"
name="NetTcpBinding_Itest">

</endpoint>
</client>
</system.serviceModel>
</configuration>
...
Рейтинг: 0 / 0
Нужен совет по кофнигурации WCF
    #38284886
IamGrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть какие - то предположения?
...
Рейтинг: 0 / 0
Нужен совет по кофнигурации WCF
    #38284903
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>IamGrey, вчера, 23:50 [14386598]
>
Попробуй блокировать security хоста и клиента
<bindings>
<netTcpBinding>
<binding name="NetTcpBinding_Itest">
<security mode="None" />
</binding>
</netTcpBinding>
</bindings>

С уважением, Владимир.
...
Рейтинг: 0 / 0
Нужен совет по кофнигурации WCF
    #38284929
Sergey TSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IamGrey,

Попробуйте следующую примерную настройку для сервера:

Код: xml
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.
  <system.serviceModel>
    <services>
      <service name="WcfWindowsService.MyService" behaviorConfiguration="myServiceBehavior">
        <host>
          <baseAddresses>
            <add baseAddress="net.tcp://localhost:8732/testService" />
          </baseAddresses>
        </host>
        <endpoint address="" binding="netTcpBinding" bindingConfiguration="bindConfig" contract="WcfWindowsService.IMyContract" />
        <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" />
      </service>
    </services>
    
    <behaviors> 
      <serviceBehaviors>
        <behavior name="myServiceBehavior">
          <serviceMetadata httpGetEnabled="false"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>

    <bindings>
      <netTcpBinding>
        <binding name="bindConfig">
          <security mode="None">
          </security>
        </binding>
      </netTcpBinding>
    </bindings>
  </system.serviceModel>



На клиенте автоматически сгенерируйте прокси, и проверьте в config чтобы VS вставила правильный адрес сервиса. Должно получиться.
...
Рейтинг: 0 / 0
Нужен совет по кофнигурации WCF
    #38287446
IamGrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
большое вам спасибо,всё заработало,но возможно появятся новые вопросы,буду вам очень благодарен,если поможете вновь =)
...
Рейтинг: 0 / 0
Нужен совет по кофнигурации WCF
    #38287591
IamGrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня служба коннектится к БД,сейчас логин и пароль прописаны руками,возможно ли в файле настроек ,чтобы при запуске службы логин и пароль брался из этого файла?хост службы будет Виндосовский. На мой взгляд,придется перекомпилировать службу
...
Рейтинг: 0 / 0
Нужен совет по кофнигурации WCF
    #38287779
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>IamGrey, вчера, 23:19 [14397352]
> ... сейчас логин и пароль прописаны руками ...

Попробуй так:

App.config
. . .
<appSettings>
<add key="strLogin" value="Вася"/>
<add key="strPassword" value="Gthz"/>
</appSettings>
. . .

Host
. . .
//-- Получим доступ к разделу appSettings файла app.config
NameValueCollection appSettings = ConfigurationManager.AppSettings; //-- Получим Path каталога файла настройки
string strLogin = appSettings["strLogin"];
string strPassword = appSettings["strPassword"];
. . .

С уважением, Владимир
...
Рейтинг: 0 / 0
Нужен совет по кофнигурации WCF
    #38287808
IamGrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо,сегодня попробую
...
Рейтинг: 0 / 0
Нужен совет по кофнигурации WCF
    #38288208
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>IamGrey, сегодня, 09:42 [14398003]
>
Не навязываюсь, но хочу дать один совет, - хранить аутентификационную информацию в открытом виде в app.config не есть хорошая идея. На мой взгляд, лучше в конфигурации прописать путь (path) к текстовому файлу настройки на съёмном носителе (типа a:\myconfig.txt). Запустили сервис, - съемный носитель в сейф.

С уважением, Владимир.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Нужен совет по кофнигурации WCF
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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