Исключение: не удалось найти базовый адрес, соответствующий схеме net.tcp
Я пытался перенастроить работающий сервис, чтобы добавить конечную точку netTcp.
Служба размещена на IIS 8.5
Я получил следующее исключение:
Не удалось найти базовый адрес, соответствующий схеме net.tcp для конечной точки с привязкой NetTcpBinding. Схемы зарегистрированных базовых адресов: [http, https]
Трассировки стека:
[InvalidOperationException: не удалось найти базовый адрес, который соответствует схеме net.tcp для конечной точки с привязкой NetTcpBinding. Схемы зарегистрированных базовых адресов: [http, https].]
System.ServiceModel.ServiceHostBase.MakeAbsoluteUri (UrilativeOrAbsoluteUri, привязка привязки, UriSchemeKeyedCollection baseAddresses) +16994291
System.ServiceModel.Description.ConfigLoader.LoadServiceDescription (хост ServiceHostBase, описание ServiceDescription, serviceElement serviceElement, Action`1 addBaseAddress, логический skipHost) +1092
System.ServiceModel.ServiceHostBase.LoadConfigurationSectionInternal (ConfigLoader configLoader, описание ServiceDescription, serviceSlection ServiceElement) +89
System.ServiceModel.ServiceHost.ApplyConfiguration () +162
System.ServiceModel.ServiceHostBase.InitializeDescription (UriSchemeKeyedCollection baseAddresses) +207 System.ServiceModel.ServiceHost..ctor (Тип serviceType, Uri [] baseAddresses) +474
System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost (Тип serviceType, Uri [] baseAddresses) +42
System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost (String constructorString, Uri [] baseAddresses) +569
System.ServiceModel.HostingManager.CreateService (String normalizedVirtualPath, EventTraceActivity eventTraceActivity) +1435
System.ServiceModel.HostingManager.ActivateService (ServiceActivationInfo serviceActivationInfo, EventTraceActivity eventTraceActivity) +76
System.ServiceModel.HostingManager.EnsureServiceAvailable (String normalizedVirtualPath, EventTraceActivity eventTraceActivity) +901[ServiceActivationException: служба '/servicebus.svc' не может быть активирована из-за исключения во время компиляции. Сообщение об исключении: Не удалось найти базовый адрес, который соответствует схеме net.tcp для конечной точки с привязкой NetTcpBinding. Схемы зарегистрированных базовых адресов: [http, https]..]
System.Runtime.AsyncResult.End (результат IAsyncResult) +624522
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End (результат IAsyncResult) +196075
System.Web.AsyncEventExecutionStep.OnAsyncEventCompletion (IAsyncResult ar) +166
<services>
<service name="Niloosoft.ServiceBus" behaviorConfiguration="AuthenticationAndAuthorizationSecurity">
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:7213"/>
</baseAddresses>
</host>
<endpoint
address="secureBus"
binding="basicHttpBinding"
bindingConfiguration="TransportSecurity"
contract="Niloosoft.IServiceBus" />
<endpoint
address="tcpBus"
binding="netTcpBinding"
bindingConfiguration="ServiceBusTcpBinding"
contract="Niloosoft.IServiceBus" />
<endpoint
address="tcpMex"
binding="mexTcpBinding"
contract="IMetadataExchange" />
<endpoint
address="mex"
binding="mexHttpsBinding"
contract="IMetadataExchange" />
</service>
</services>
Конфигурации привязки, кажется, работают хорошо для других служб, но я могу упустить что-то еще.
IIS имеет конфигурацию привязки для каждой службы, я добавил привязку tcp с адресом *:7213.
Какие-нибудь предложения, идеи относительно того, что я пропускаю? Я просмотрел много разных постов, чтобы узнать, не допустил ли я где-нибудь ошибку.
Вся помощь приветствуется.
1 ответ
Проблема заключалась в том, что для конфигурации HttpGetEnabled было задано значение true, необходимо установить значение false, если ваш веб-сервис должен принимать HTTPS.