我正在尝试查询主要的单个团队项目,TfsTeamProjectCollection其中总共包含194个团队项目.我确切地知道如何WorkItem通过Id得到一个WorkItemStore.问题是,通过这样做,API搜索集合中的所有项目,查询大约需要一分钟.这太慢了,必须有一种直接从单个团队项目查询工作项的方法吗?这是我的代码:
private Uri collectionUri;
private TfsTeamProjectCollection projectCollection;
private WorkItemStore workItemStore;
public Project GetTeamProject()
{
projectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(collectionUri);
workItemStore = projectCollection.GetService<WorkItemStore>();
Project teamProject = workItemStore.Projects[TFS_PROJECT_KEY];
return teamProject;
}
Run Code Online (Sandbox Code Playgroud)
既然我有我感兴趣的团队项目,我如何通过ID查询工作项或者只获取该项目中的所有工作项?
我正在尝试编写一个简单的算法来读取具有完全相同的节点和结构的两个XML文件,但不一定是子节点内的相同数据而不是相同的顺序.我怎样才能使用Microsoft的XML Diff .DLL创建一个简单的实现,用于创建第三个临时XML,即两个第一个之间的差异?
MSDN上的XML Diff:
示例要比较的两个不同XML文件的XML代码:
<?xml version="1.0" encoding="utf-8" ?>
<Stats Date="2011-01-01">
<Player Rank="1">
<Name>Sidney Crosby</Name>
<Team>PIT</Team>
<Pos>C</Pos>
<GP>39</GP>
<G>32</G>
<A>33</A>
<PlusMinus>20</PlusMinus>
<PIM>29</PIM>
</Player>
</Stats>
<?xml version="1.0" encoding="utf-8" ?>
<Stats Date="2011-01-10">
<Player Rank="1">
<Name>Sidney Crosby</Name>
<Team>PIT</Team>
<Pos>C</Pos>
<GP>42</GP>
<G>35</G>
<A>34</A>
<PlusMinus>22</PlusMinus>
<PIM>30</PIM>
</Player>
</Stats>
Run Code Online (Sandbox Code Playgroud)
想要的结果(两者之间的差异)
<?xml version="1.0" encoding="utf-8" ?>
<Stats Date="2011-01-10">
<Player Rank="1">
<Name>Sidney Crosby</Name>
<Team>PIT</Team>
<Pos>C</Pos>
<GP>3</GP>
<G>3</G>
<A>1</A>
<PlusMinus>2</PlusMinus>
<PIM>1</PIM>
</Player>
</Stats>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我可能会使用XSLT将生成的XML"差异"文件转换为已排序的HTML文件,但我还没有.我想要做的就是在第三个XML文件中显示每个节点的每个数值的差异,从"GP"子节点开始.
到目前为止C#代码:
private void CompareXml(string file1, string file2)
{
XmlReader reader1 = …Run Code Online (Sandbox Code Playgroud) 我正在尝试实现一个排序过程,它将根据下拉列表的值进行排序.发生的情况是,在对列表进行排序时,在这种情况下,NULL字段将被指定的替换值替换''.这是首先排序,因为我们正在按升序排序,现在我想要升序排序,但最后是空值.我怎么能实现这个?
ORDER BY l.IsActive DESC,
CASE WHEN @SortOrder = 1 THEN n.DisplayName
WHEN @SortOrder = 2 THEN CASE ec.IsEquipmentRelated
WHEN 1 THEN ISNULL(el.ShopID,'') +
ISNULL(ec.EquipmentAbbr,'') +
ISNULL(el.ClassSequenceNumber,'') +
ISNULL(el.EquipmentComponent,'') +
ISNULL(el.CompSequenceNumber,'')
WHEN 0 THEN ISNULL(ec.EquipmentAbbr,'')
ELSE NULL
END
ELSE l.DisplayName
END
Run Code Online (Sandbox Code Playgroud)
编辑:运行MS SQL Server 2008/T-SQL
编辑: @Joe Stefanelli,我试过这个,它没有编译:
ORDER BY l.IsActive DESC,
CASE WHEN @SortOrder = 0 THEN l.DisplayName
WHEN @SortOrder = 1 THEN CASE WHEN n.DisplayName = '' THEN 2 ELSE 1 END, n.DisplayName
WHEN …Run Code Online (Sandbox Code Playgroud) 我如何有效地解析href属性值:
<tr>
<td rowspan="1" colspan="1">7</td>
<td rowspan="1" colspan="1">
<a class="undMe" href="/ice/player.htm?id=8475179" rel="skaterLinkData" shape="rect">D. Kulikov</a>
</td>
<td rowspan="1" colspan="1">D</td>
<td rowspan="1" colspan="1">0</td>
<td rowspan="1" colspan="1">0</td>
<td rowspan="1" colspan="1">0</td>
[...]
Run Code Online (Sandbox Code Playgroud)
我有兴趣拥有玩家ID,这是:8475179这是我到目前为止的代码:
// Iterate all rows (players)
for (int i = 1; i < rows.Count; ++i)
{
HtmlNodeCollection cols = rows[i].SelectNodes(".//td");
// new player
Dim_Player player = new Dim_Player();
// Iterate all columns in this row
for (int j = 1; j < 6; ++j)
{
switch (j) {
case 1: …Run Code Online (Sandbox Code Playgroud) 我希望能够使用该用户的显示名称获取Active Directory中用户的用户标识.显示名称是从数据库中获取的,并且在该用户会话期间使用以下代码存储以获取显示名称:
using System.DirectoryServices.AccountManagement;
private string GetDisplayName()
{
// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
// find currently logged in user
UserPrincipal user = UserPrincipal.Current;
return user.DisplayName;
}
Run Code Online (Sandbox Code Playgroud)
这一次,我希望有一个名为的方法GetUserIdFromDisplayName()返回Active Directory登录名.有任何想法吗?
我正在尝试实现计算RGB和CMYK之间转换的解决方案,反之亦然.这是我到目前为止:
public static int[] rgbToCmyk(int red, int green, int blue)
{
int black = Math.min(Math.min(255 - red, 255 - green), 255 - blue);
if (black!=255) {
int cyan = (255-red-black)/(255-black);
int magenta = (255-green-black)/(255-black);
int yellow = (255-blue-black)/(255-black);
return new int[] {cyan,magenta,yellow,black};
} else {
int cyan = 255 - red;
int magenta = 255 - green;
int yellow = 255 - blue;
return new int[] {cyan,magenta,yellow,black};
}
}
public static int[] cmykToRgb(int cyan, int magenta, int yellow, int black) …Run Code Online (Sandbox Code Playgroud) 我得到了例外:The type initializer for 'my class' threw an exception.运行我的Web应用程序后在我的浏览器中.由于这似乎是从视图(.aspx)生成的错误消息,因此我无法看到堆栈跟踪或此错误源的任何日志.
我已经在网上阅读了一下,调试的一个解决方案是抛出一个TypeInitializationException然后查看内部异常以找出错误.当我不知道使用try/catch包围代码的位置时,我该怎么做?
这里我的DCT算法类有"applyDCT"和"applyIDCT"方法.技术上,在0到255之间的2x2随机整数表上进行正向DCT(离散余弦变换)之后,然后立即对这些数字进行反向DCT,我们应该回到我们首先得到的原始整数.就我而言,情况并非如此.我在这做错了什么?
public class DCT {
private static final int N = 2;
private double[] c = new double[N];
public DCT() {
this.initializeCoefficients();
}
private void initializeCoefficients() {
for (int i=1;i<N;i++) {
c[i]=1;
}
c[0]=1/Math.sqrt(2.0);
}
public double[][] applyDCT(double[][] f) {
double[][] F = new double[N][N];
for (int u=0;u<N;u++) {
for (int v=0;v<N;v++) {
double sum = 0.0;
for (int i=0;i<N;i++) {
for (int j=0;j<N;j++) {
sum+=Math.cos(((2*i+1)/(2.0*N))*u*Math.PI)*Math.cos(((2*j+1)/(2.0*N))*v*Math.PI)*f[i][j];
}
}
sum*=((c[u]*c[v])/4.0);
F[u][v]=sum;
}
}
return F;
}
public double[][] applyIDCT(double[][] F) { …Run Code Online (Sandbox Code Playgroud) 使用TFS API和SSRS生成PDF,Excel,Word或TIFF格式的报告是否有简单的方法?我可以通过使用用于TFS的SSRS仪表板从组合框中选择参数来手动生成报告,但我想在我的Web应用程序中包含一个导出按钮,以便我可以轻松绕过Team Web Access生成报告.有任何想法吗?
我在这篇文章中读到我可以使用ReportExecutionServiceSSRS中的类,所以我想知道是否可以从TFS服务器使用它.
我使用此Web服务引用导入了命名空间:
http://<TFS server>/reportserver/ReportExecution2005.asmx
当我尝试使用Kendo UI创建网格或图表时,我不断收到以下错误.但是,一个简单的ComboBox可以工作.我们正在使用商业lisence并在经过身份验证时从Telerik的网站下载了js和css.
未捕获的ReferenceError:未定义kendo
未捕获的ReferenceError:$未定义
配置:_Layout.cshtml
<head>
<environment names="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="~/lib/kendo-ui/styles/kendo.common-bootstrap.min.css" />
<link rel="stylesheet" href="~/lib/kendo-ui/styles/kendo.bootstrap.min.css" />
<link rel="stylesheet" href="~/css/site.css" />
</environment>
<environment names="Staging,Production">
<link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css"
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
<link rel="stylesheet"
href="https://kendo.cdn.telerik.com/2017.2.504/styles/kendo.common-bootstrap.min.css"
asp-fallback-href="~/lib/kendo-ui/styles/kendo.common-bootstrap.min.css"
asp-fallback-test-class="k-common-test-class"
asp-fallback-test-property="opacity" asp-fallback-test-value="0" />
<link rel="stylesheet"
href="https://kendo.cdn.telerik.com/2017.2.504/styles/kendo.bootstrap.min.css"
asp-fallback-href="~/lib/kendo-ui/styles/kendo.bootstrap.min.css"
asp-fallback-test-class="k-theme-test-class"
asp-fallback-test-property="opacity" asp-fallback-test-value="0" />
<link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
</environment>
</head>
<environment names="Development">
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
<script src="~/lib/kendo-ui/js/kendo.all.min.js"></script>
<script src="~/lib/kendo-ui/js/kendo.aspnetmvc.min.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
</environment>
<environment names="Staging,Production">
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.2.0.min.js"
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
asp-fallback-test="window.jQuery"
crossorigin="anonymous"
integrity="sha384-K+ctZQ+LL8q6tP7I94W+qzQsfRV2a+AfHIi9k8z8l9ggpc8X+Ytst4yBo/hH+8Fk"> …Run Code Online (Sandbox Code Playgroud)