【发布时间】:2016-04-03 03:54:12
【问题描述】:
我一直在努力重新配置工作服务以添加 netTcp 端点。
服务托管在 IIS 8.5 上
我遇到了以下异常:
找不到与方案 net.tcp 匹配的基地址 具有绑定 NetTcpBinding 的端点。注册的基地址方案 是 [http,https]
堆栈跟踪:
[InvalidOperationException: 找不到匹配的基地址 具有绑定 NetTcpBinding 的端点的方案 net.tcp。挂号的 基地址方案是 [http,https]。]
System.ServiceModel.ServiceHostBase.MakeAbsoluteUri(Uri relativeOrAbsoluteUri,绑定绑定,UriSchemeKeyedCollection 基本地址)+16994291
System.ServiceModel.Description.ConfigLoader.LoadServiceDescription(ServiceHostBase 主机,ServiceDescription 描述,ServiceElement serviceElement, Action`1 addBaseAddress, Boolean skipHost) +1092
System.ServiceModel.ServiceHostBase.LoadConfigurationSectionInternal(ConfigLoader configLoader、ServiceDescription 描述、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(字符串 构造函数字符串,Uri[] baseAddresses) +569
System.ServiceModel.HostingManager.CreateService(字符串 normalizedVirtualPath, EventTraceActivity eventTraceActivity) +1435
System.ServiceModel.HostingManager.ActivateService(ServiceActivationInfo serviceActivationInfo, EventTraceActivity eventTraceActivity) +76
System.ServiceModel.HostingManager.EnsureServiceAvailable(字符串 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 对每个服务都有绑定配置,我在那里添加了一个带有 *:7213 地址的 tcp 绑定。
关于我缺少什么的任何建议和想法?我浏览了很多不同的帖子,看看我是否在某个地方犯了错误。
感谢所有帮助。
【问题讨论】:
-
您需要在 IIS 中添加并启用 net.tcp 绑定。阅读:rohitguptablog.wordpress.com/2011/06/16/…
-
这篇文章很有帮助,虽然 IIS 没有问题,但配置已关闭。谢谢!编辑:对于那些对这里出了什么问题感兴趣的人,是 httpgetenabled=true 导致了问题。它需要设置为 false。
标签: c# wcf net.tcp base-address