我有一个在公司环境中运行的 .NET 2.0 ClickOnce 应用程序,它设置为通过 Windows 身份验证工作。
因此,用户通过 ClickOnce 下载应用程序,然后它连接到 IIS 服务器并通过 Web 服务调用进行通信。
问题是每次通话都会有两次握手。第一次调用产生 401 并邀请客户进行协商。由于客户端发送了身份验证令牌,因此第二次调用成功。
有没有办法消除这种双重握手?因为它给应用程序的延迟带来了巨大的开销,并使它看起来非常缓慢。
谢谢
我有一个在公司环境中运行的 .NET 2.0 ClickOnce 应用程序,它设置为通过 Windows 身份验证工作。
因此,用户通过 ClickOnce 下载应用程序,然后它连接到 IIS 服务器并通过 Web 服务调用进行通信。
问题是每次通话都会有两次握手。第一次调用产生 401 并邀请客户进行协商。由于客户端发送了身份验证令牌,因此第二次调用成功。
有没有办法消除这种双重握手?因为它给应用程序的延迟带来了巨大的开销,并使它看起来非常缓慢。
谢谢
实际上有一个解决方案,事实证明:WebRequest.PreAuthenticate 查看 Rick Strahl 的文章。
这种“双握手”是 NTLM 挑战响应模型不可或缺的一部分。您唯一的选择是更改身份验证类型。
或者,您尝试将连接重新用于 Web 服务调用。