При обновлении ссылки на службу 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 к веб-сервису? Я нашел похожие темы в Интернете, но не было никаких решений для этого.