1

我正在编写一个连接到 Team Foundation Server 的程序。一切正常。但是,如果我将我的 .exe 文件重命名为“TfsBugs_фЫвваП.exe”(带有多个大写俄语字符),应用程序就会崩溃。它在连接 TFS 方法上崩溃并出现错误:System.ArgumentException(指定的值包含无效的控制字符。参数名称:值)

 try
 {
    const String TFS_URL = @"https://tfs.bss.nvision-group.com";
    tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(TFS_URL));
    workItemStore = (WorkItemStore)tfs.GetService(typeof(WorkItemStore));
    tfs.EnsureAuthenticated();
  }
 catch (Exception _exp)
        {
            MessageBox.Show("Program will be terminated \n\n" + _exp.ToString(), "Could not authenticate while connecting to TFS", MessageBoxButtons.OK, MessageBoxIcon.Error);
            Application.Exit();
        }

在消息框输出中,我可以看到:

System.ArgumentException:指定的值包含无效的控制字符。参数名称:value × System.Net.WebHeaderCollection.CheckBadChars(String name, Boolean isHeaderValue)

в System.Net.HttpWebRequest.SetSpecialHeaders(String HeaderName, String value)

в System.Net.HttpWebRequest.set_UserAgent(字符串值)

в Microsoft.TeamFoundation.Client.TeamFoundationClientProxyBase.PrepareWebRequestImpl(HttpWebRequest 请求,字符串 sessionId,ICredentials 凭据,IdentityDescriptor identityToImpersonate,Int32 超时,字符串cultureName)

? Microsoft.TeamFoundation.Client.TeamFoundationClientProxy.PrepareWebRequest(HttpWebRequest 请求)

в Microsoft.TeamFoundation.Client.TeamFoundationClientProxyBase.CreateWebRequest(Uri uri,字符串命令)

в Microsoft.TeamFoundation.Client.TeamFoundationClientProxyBase.CreateWebRequest(Uri uri)

我认为这是一个问题: System.Net.HttpWebRequest.set_UserAgent(String value) 但是为什么将 UserAgent 传递给服务器?它不需要连接。有什么成语吗?

4

0 回答 0