每当Visual Studio向TFS发出Web请求时,Fiddler都会显示401 Unauthorized错误.然后,Visual Studio将使用适当的Authorization Negotiate标头再次尝试,TFS将使用正确的数据和200状态代码进行响应.
如何在第一次停止401时获取正确的标头?
这就是Windows集成身份验证(NTLM)的过程.NTLM是一种基于连接的身份验证机制,实际上涉及3次调用以建立经过身份验证的会话.
然后TFS API变为超常长度,以确保以尽可能最有效的方式完成此握手.它将使经过身份验证的连接保持打开一段时间,以尽可能避免这种握手.它还将使用具有最少内容的HTTP有效负载进行初始身份验证,然后在您要发送的消息超过一定长度时发送真实消息.它还有许多其他技巧来优化与TFS的连接.
基本上,我会把它放在一边,因为它运作良好.