为什么我只能使用UseDefaultCredentials选项进行连接

本文关键字:选项 连接 UseDefaultCredentials 为什么 | 更新日期: 2023-09-27 18:19:47

我有一个web服务(旧的.NET 2.0方式)在虚拟机上运行,我想从我的开发人员机器上测试它,这是一台Win 7。如果我设置域、用户名、密码等进行测试:

NetworkCredential userPass = new NetworkCredential();
Cytowebservice.TransferService m_servie = new Cytowebservice.TransferService();
userPass.Domain = domain;
userPass.UserName = username;
userPass.Password = passwordTextBox.Text;
m_servie.Credentials = userPass;

那么当我想调用它的一个web方法时,我会得到401.1授权错误。但我没有输入错误的用户/通行证。但如果我不使用它们,只说

m_servie.UseDefaultCredentials = true;

那么它连接起来就不会出错。我做错了什么?

为什么我只能使用UseDefaultCredentials选项进行连接

尝试将域留空,并在username字段中传递域限定的用户名。如果不起作用,则在域字段中传递域,在用户名字段中传递符合域条件的用户名。这可能有点牵强,但我在不同的环境中看到过这种行为的不一致性。