TFS2012离线构建服务

时间:2013-03-13 05:51:22

标签: tfs2012 team-build

我配置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 提前谢谢。

2 个答案:

答案 0 :(得分:5)

正如异常所示,听起来你有两个用于tfs web服务的http绑定。

两个选项:

  1. 进入web.config并删除其中一个http绑定。

  2. 在异常中执行建议并允许多个站点绑定

  3. 已更新以包含用户解决方案

    在“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>