我正在编写/测试服务器端插件,并且我希望得到它是否在我们的开发或生产TFS实例上运行,以允许我驱动一个稍微不同的过程(例如,向任何电子邮件主题添加一些明显的文本它发出以确保人们知道它来自开发实例。)
我可以通过requestContext变量访问“IsProduction”属性(IVSSRequestContext.ServiceHost.IsProduction - 之前是TFS2015之前的TeamFoundationRequestContext.TeamFoundationServicehost.IsProduction),但在两个实例中此属性都设置为true。
是否有人知道是否/应该将其用于此目的,如果是,如何设置,因为我无法在线找到任何文档,也无法在TFS管理控制台中看到任何明显的内容。
答案 0 :(得分:0)
不,但我建议使用全局环境变量(例如IsDevelopment
)。
另一个选择是获取服务器URL(请参阅代码段)并使用它来确定环境,但我认为它不太安全。
private Uri GetCollectionUriFromContext(IVssRequestContext requestContext)
{
ILocationService service = requestContext.GetService<ILocationService>();
return service.GetSelfReferenceUri(requestContext,
service.GetDefaultAccessMapping(requestContext));
}