Процессор концентратора событий Azure не работает с корпоративным прокси

Я работаю с учебником по отправителю и процессору концентратора событий Azure и сижу за корпоративным прокси.

Отправка событий в концентратор событий работает очень хорошо, но у меня проблемы с получением доступа eventHubProcessor к концентратору событий Azur. Мне кажется, что у меня какие-то проблемы с прокси.

я использую

  • Протокол конечной точки по умолчанию = https

в качестве строки подключения к хранилищу, и я установил

  • ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.Https;

Я также пробовал много разных вариантов установки прокси в файле App.config. Например.

<configSections>
    <sectionGroup name="proxyGroup">
      <section name="basicProxy" type="Proxy.Configuration.CustomProxySection, Proxy" />
    </sectionGroup>
  </configSections>

 <system.net>
    <defaultProxy enabled="true" useDefaultCredentials="true" >
      <proxy usesystemdefault="true"/>
    </defaultProxy>
  </system.net>

Без успеха :(

В "eventProcessorHost.RegisterEventProcessorAsync(options).Wait();" я получаю исключение

  InnerException: 
   HResult=-2146233087
   Message=Der angeforderte Name ist gültig, es wurden jedoch keine Daten des angeforderten Typs gefunden
   Source=Microsoft.ServiceBus
   StackTrace:
     Server stack trace: 
     Exception rethrown at [0]: 
        bei Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
        bei Microsoft.ServiceBus.Messaging.Amqp.Transport.WebSocketTransportInitiator.Complete(IAsyncResult connectAsyncResult, Boolean completeSynchronously)
     Exception rethrown at [1]: 
        bei Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
        bei Microsoft.ServiceBus.Messaging.Amqp.AmqpMessagingFactory.ConnectAsyncResult.<GetAsyncSteps>b__9d(ConnectAsyncResult thisPtr, IAsyncResult r)
        bei Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)
     Exception rethrown at [2]: 
        bei Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
        bei Microsoft.ServiceBus.Messaging.Amqp.AmqpMessagingFactory.EndCreateConnection(IAsyncResult result)
        bei Microsoft.ServiceBus.Messaging.Amqp.FaultTolerantObject`1.CreateAsyncResult.<GetAsyncSteps>b__1(CreateAsyncResult thisPtr, IAsyncResult r)
        bei Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)
     Exception rethrown at [3]: 
        bei Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
        bei Microsoft.ServiceBus.Common.AsyncResult`1.End(IAsyncResult asyncResult)

У кого-нибудь есть идея?? Большое спасибо за ваше время.

С уважением, Роланд


person Roland    schedule 20.06.2016    source источник


Ответы (1)


Причина проблемы в том, что ServicePointManager не поддерживает прокси в случае HTTPS.

Чтобы решить проблему, измените все на HTTP

В вашей основной программе:

string storageConnectString=string.Format("DefaultEndpointsProtocol=http;....");
ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.Http;

В вашем App.config

<system.net>
  <defaultProxy enabled="true" useDefaultCredentials="true" >
    <proxy
      autoDetect="false"
      bypassonlocal="true"
      proxyaddress="http://##.###.###.###:8080"
      usesystemdefault="false"/>
  </defaultProxy>
</system.net>
person Roland    schedule 23.06.2016