Форум программистов, компьютерный форум, киберфорум
C#: Веб-сервисы и WCF
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
11 / 11 / 1
Регистрация: 16.11.2011
Сообщений: 50
1
.NET 4.x

Заимствование референсов wcf службы

24.11.2016, 17:09. Показов 1016. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!

Возникла следующая проблема, пока служба была открыта (без авторизации), проблем не было, как только была прикручена авторизация, служба отказывается отдавать свои референсы. Может кто сталкивался?

Конфигурация службы:
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
35
36
37
38
39
40
41
42
43
    <behaviors>
      <serviceBehaviors>
        <behavior name="CertificateBehavior">
          <serviceMetadata httpGetEnabled="false" />
          <serviceDebug includeExceptionDetailInFaults="true" />
          <serviceCredentials>
            <clientCertificate>
              <authentication certificateValidationMode="None" trustedStoreLocation="LocalMachine"/>
            </clientCertificate>
            <userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="Authorization.Validator, Authorization"/>
            <serviceCertificate storeLocation="LocalMachine" storeName="My" x509FindType="FindBySerialNumber" findValue="xxx-xxx-xxx"/>
          </serviceCredentials>
          <serviceAuthorization principalPermissionMode="Custom">
            <authorizationPolicies>
              <add policyType="Authorization.AuthorizationPolicy, Authorization"/>
            </authorizationPolicies>
          </serviceAuthorization>
        </behavior>
    </behaviors>
 
    <bindings>
      <netTcpBinding>
        <binding name="TcpUserNameBinding" receiveTimeout="00:00:30" sendTimeout="00:00:30" transferMode="Buffered" maxReceivedMessageSize="2147483647">
          <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <security mode="Message">
            <transport clientCredentialType="None" />
            <message clientCredentialType="UserName" />
          </security>
        </binding>
      </netTcpBinding>
    </bindings>
 
    <services>
      <service behaviorConfiguration="CertificateBehavior" name="Analitics.AnaliticsService" >
        <endpoint binding="netTcpBinding" bindingConfiguration="TcpUserNameBindingn" contract="Analitics.IAnaliticsService" />
        <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="net.tcp://*:9988/Analitics" />
          </baseAddresses>
        </host>
      </service>
    </services>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.11.2016, 17:09
Ответы с готовыми решениями:

В чём отличие приложения службы WCF от библиотеки службы WCF
Вот читаю книгу по WCF. Создал проект, и думаю, а в чём же основное отличие? Библиотека как-то...

Разработка WCF-службы
Разработать WCF-службу, которая хранит данные о списке клиентов отеля.Список содержит имя, фамилию,...

Доступ к WCF из службы Windows
Имею программу (*.exe), которая обращается к wcf сервису (раньше обращение было напрямую из службы,...

Экземпляры WCF службы и переменные
Служба работает в режиме по умолчанию т.е perSession, что означает, что на каждое подключение...

4
Эксперт .NET
5545 / 4308 / 1218
Регистрация: 12.10.2013
Сообщений: 12,356
Записей в блоге: 2
24.11.2016, 18:04 2
Цитата Сообщение от DTri Посмотреть сообщение
Конфигурация службы:
Включите передачу метаданных через HttpGet, вот это установите в true: httpGetEnabled
0
11 / 11 / 1
Регистрация: 16.11.2011
Сообщений: 50
25.11.2016, 09:45  [ТС] 3
Для net.tcp данное свойство недоступно.
0
Эксперт .NET
5545 / 4308 / 1218
Регистрация: 12.10.2013
Сообщений: 12,356
Записей в блоге: 2
25.11.2016, 09:50 4
Цитата Сообщение от DTri Посмотреть сообщение
Для net.tcp данное свойство недоступно.
DTri, вы не совсем понимаете смысл.
1. Определите конечную точку для передачи метаданных.
2. Определите базовый адрес со схемой Http.
3. Включите поведение службы, разрешающее передачу метаданных через HttpGet.
3. Добавьте ссылку на службу.
4. Пользуйтесь созданным прокси.
0
11 / 11 / 1
Регистрация: 16.11.2011
Сообщений: 50
25.11.2016, 11:26  [ТС] 5
Да, именно так и пришлось сделать, кому понадобится выглядит это так:
XML
1
2
3
4
5
6
7
8
9
10
11
12
    <services>
      <service behaviorConfiguration="CertificateBehavior" name="Analitics.AnaliticsService" >
        <endpoint binding="netTcpBinding" bindingConfiguration="TcpUserNameBinding" contract="Analitics.IAnaliticsService" />
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="net.tcp://*:9988/Analitics" />
            <add baseAddress="http://*:9987/Analitics" />
          </baseAddresses>
        </host>
      </service>
    </services>
ну и в CertificateBehavior
XML
1
<serviceMetadata httpGetEnabled="false" />
после этого референсы доступны по http://ip:9987/Analitics

Добавлено через 11 минут
ошибочка
ну и в CertificateBehavior поменять с false на
XML
1
<serviceMetadata httpGetEnabled="true" />
0
25.11.2016, 11:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2016, 11:26
Помогаю со студенческими работами здесь

Публикация WCF службы на IIS
Всем привет. Начал разбираться в WCF. Пользуюсь книгой &quot;Liu M. - WCF 4.5 Multi-Layer Services...

Пример службы WCF на Windows Forms
Добрый день всем Ребята подскажите где можно найти пример сужб WCF на windows forms еслм...

Передать ступенчатый массив из службы WCF
Yважаемые знатоки podskagite pogalusta kak peredati jugged array(massiv massivov) iz wcf na...

Жизненный цикл разработки службы WCF
помогите найти информацию о жизненном цикле разработки службы wcf. нужно подготовить доклад.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru