Ссылка на службу VS 2010 WCF Ошибка соединения https - PullRequest
1 голос
/ 14 декабря 2010

При обновлении ссылки на службу WCF в Visual Studio 2010 произошла ошибка:

Произошла ошибка при загрузке 'https://192.16.0.76/MyService.svc'. Запрос был прерван: не удалось создать безопасный канал SSL / TLS. Метаданные содержат ссылку, которая не может быть разрешена: 'https://192.16.0.76/MyService.svc'. HTTP-запрос был запрещен при использовании схемы аутентификации клиента «Аноним». Удаленный сервер возвратил ошибку: (403) Запрещено.

Две недели назад обновление справки работало нормально, и в файле web.config ничего не изменилось. Теперь я не могу обновить справочную службу и добавить новые функции в приложение Silverlight. Я искал ответ в Интернете, и большинство людей советуют проверять сертификаты на компьютере разработчика. У меня нет сертификатов на моем компьютере, и я также добавляю ny сертификат в локальное хранилище компьютеров. Возможно, мне следует изменить сертификат по умолчанию для Visual Studio, но я не могу найти, как это сделать.

Вот мой файл web.config:

  <source name="System.ServiceModel"
      switchValue="Error,Warning"
      propagateActivity="true">
    <listeners>
      <add type="System.Diagnostics.DefaultTraceListener"
              name="Default">
        <filter type="" />
      </add>
      <add name="ServiceModelTraceListener">
        <filter type="" />
      </add>
    </listeners>
  </source>

  <source name="System.ServiceModel.MessageLogging"
  switchValue="Warning, Error">
    <listeners>
      <add type="System.Diagnostics.DefaultTraceListener" name="Default">
        <filter type="" />
      </add>
      <add name="ServiceModelMessageLoggingListener">
        <filter type="" />
      </add>
    </listeners>
  </source>
</sources>

<sharedListeners>

  <add initializeData="tracelog.svclog"
      type="System.Diagnostics.XmlWriterTraceListener, System, 
                    Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
      name="ServiceModelTraceListener" traceOutputOptions="Timestamp">
    <filter type="" />
  </add>
  <add initializeData="messages.svclog"
      type="System.Diagnostics.XmlWriterTraceListener, 
                    System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
      name="ServiceModelMessageLoggingListener" traceOutputOptions="Timestamp">
    <filter type="" />
  </add>
</sharedListeners>

<trace autoflush="true" />

<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
<httpRuntime executionTimeout="600" />

    </behavior>
  </serviceBehaviors>
</behaviors>
<bindings>
  <customBinding>
    <binding name="MyForm.Web.MyService.customBinding0"
         receiveTimeout="00:10:00" sendTimeout="00:10:00"

           openTimeout="00:10:00" closeTimeout="00:10:00">
      <binaryMessageEncoding/>
      <httpsTransport maxReceivedMessageSize="2147483647" />
    </binding>
  </customBinding>
  <wsHttpBinding>
    <binding name="CertificateWithTransport" 
           receiveTimeout="00:10:00" sendTimeout="00:10:00"
           openTimeout="00:10:00" closeTimeout="00:10:00"
            maxReceivedMessageSize="2147483647">
      <security mode="Transport" >
        <transport clientCredentialType="Certificate"  />
      </security>
      <readerQuotas maxDepth="2640000"
               maxStringContentLength="2000000000"
               maxArrayLength="2000000000"
               maxBytesPerRead="2000000000"
               maxNameTableCharCount="2000000000" />
    </binding>
  </wsHttpBinding>
</bindings>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
<services>
  <service behaviorConfiguration="ServiceBehavior" name="MyForm.Web.MyService">
    <endpoint address="" binding="wsHttpBinding" bindingConfiguration="CertificateWithTransport"
      contract="MyForm.Web.MyService" />
  </service>
</services>
<diagnostics >
  <messageLogging logMalformedMessages="true"             
   logMessagesAtServiceLevel="true"
   logMessagesAtTransportLevel="true" 
    />
</diagnostics>

Любая помощь будет оценена.

[Upd] Похоже, это может быть вызвано проблемами с сертификатом на моем ПК. Как выбрать сертификат, который будет использоваться для подключения https к веб-сервису? Я нашел похожие темы в Интернете, но не было никаких решений для этого.

1 Ответ

0 голосов
/ 14 декабря 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...