2016-11-29 60 views
1

我正在编写/测试一个服务器端插件,并且正在寻找如果这是在我们的开发或生产TFS实例上运行,以允许我推动一个稍微不同的过程(例如,添加一些明显的文本到任何电子邮件主题发送出去以确保人们知道它来自开发实例)。是否可以将TFS实例定义为Development?

有一个可以通过requestContext变量访问的“IsProduction”属性(IVSSRequestContext.ServiceHost.IsProduction - 之前是TFS2015之前的TeamFoundationRequestContext.TeamFoundationServicehost.IsProduction),但是在两个实例中都将此属性设置为true。

是否有人知道这是否可以用于此目的,如果可以,可以如何设置,因为我无法在线找到任何文档,并且在TFS管理控制台中看不到任何明显的内容。

回答

0

不,但我建议使用全局环境变量(例如IsDevelopment)。 另一种选择是获取服务器URL(请参阅代码段)并使用它来确定环境,但我认为它不太安全。

private Uri GetCollectionUriFromContext(IVssRequestContext requestContext) { ILocationService service = requestContext.GetService<ILocationService>(); return service.GetSelfReferenceUri(requestContext, service.GetDefaultAccessMapping(requestContext)); }

+0

IMHO'IsProduction'在VSTS代码中使用由MS和存在具有不同的值。 –

相关问题