我配置TFS2012团队构建。在配置期间,构建服务显示状态正在运行,稍后(可能是10秒)构建控制器和构建代理服务停止。但是在管理构建控制器窗口中,我的TFS2012控制器和代理显示可用。
所以我触发了为这个控制器配置的构建定义,即使在显示“正在运行0秒”并在队列中等待5分钟后也是如此。
在事件查看器日志中,我可以看到记录下面的错误:
WebHost无法处理请求。 发件人信息:System.ServiceModel.ServiceHostingEnvironment + HostingManager / 39086322 异常:System.ServiceModel.ServiceActivationException:由于编译期间发生异常,无法激活服务'/tfs/queue//Services/v4.0/MessageQueueService2.svc'。异常消息是:此集合已包含带有方案http的地址。此集合中每个方案最多只能有一个地址。如果您的服务是在IIS中托管的,则可以通过将'system.serviceModel / serviceHostingEnvironment / multipleSiteBindingsEnabled'设置为true或指定'system.serviceModel / serviceHostingEnvironment / baseAddressPrefixFilters'来解决问题。 参数名称:item。 ---> System.ArgumentException:此集合已包含方案http的地址。此集合中每个方案最多只能有一个地址。如果您的服务是在IIS中托管的,则可以通过将'system.serviceModel / serviceHostingEnvironment / multipleSiteBindingsEnabled'设置为true或指定'system.serviceModel / serviceHostingEnvironment / baseAddressPrefixFilters'来解决问题。 参数名称:item at System.ServiceModel.UriSchemeKeyedCollection.InsertItem(Int32 index,Uri item) 在System.Collections.Generic.SynchronizedCollection`1.Add(T item) 在System.ServiceModel.UriSchemeKeyedCollection..ctor(Uri []地址) 在System.ServiceModel.ServiceHost..ctor(类型serviceType,Uri [] baseAddresses) 在System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(类型serviceType,Uri [] baseAddresses) at System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(String constructorString,Uri [] baseAddresses) 在System.ServiceModel.ServiceHostingEnvironment.HostingManager.CreateService(String normalizedVirtualPath,EventTraceActivity eventTraceActivity) 在System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(ServiceActivationInfo serviceActivationInfo,EventTraceActivity eventTraceActivity) 在System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath,EventTraceActivity eventTraceActivity) ---内部异常堆栈跟踪结束--- 在System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath,EventTraceActivity eventTraceActivity) 在System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath,EventTraceActivity eventTraceActivity) 进程名称:w3wp 进程ID:6104 提前谢谢。
答案 0 :(得分:5)
正如异常所示,听起来你有两个用于tfs web服务的http绑定。
两个选项:
进入web.config并删除其中一个http绑定。
在异常中执行建议并允许多个站点绑定
已更新以包含用户解决方案
在“C:\ Program Files \ Microsoft Team Foundation Server 11.0 \ Application Tier \ Web Services”下的web.config文件中添加了以下标记
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="True">
</serviceHostingEnvironment>
</system.serviceModel>
答案 1 :(得分:0)
因为我已经为外部访问配置了FQDN:
在“C:\ Program Files \ Microsoft Team Foundation Server 11.0 \ Application Tier \ Web Services”下的web.config文件中添加了以下标记
</serviceHostingEnvironment>