gpt4 book ai didi

c# - 如何使数据服务发送一个带有凭据而不是两个的请求?

转载 作者:太空宇宙 更新时间:2023-11-03 13:49:39 26 4
gpt4 key购买 nike

我有带有 Windows 授权的 OData 网络服务。

connection = new BaseWCFService.ASUTBEntities(new Uri("pathtoservice"));
connection.Credentials = CredentialCache.DefaultCredentials;
string SID = System.Security.Principal.WindowsIdentity.GetCurrent().User.Value;
var finduser = (from o in IS.connection.User
where o.SID == SID
select o).ToList();

此代码发出两个请求而不是一个。首先,它发送简单的 text/html 请求,得到 401 错误,然后发送带身份验证的普通 atom 请求:

enter image description here

如何让他发出一个带认证的请求,避免发送text/html请求?

最佳答案

我只是猜测,但我会说构造器已经连接到网络服务。

也许是这样的:

new BaseWCFService.ASUTBEntities(new Uri("pathtoservice"), CredentialCache.DefaultCredentials);

connection = new BaseWCFService.ASUTBEntities();
connection.Credentials = CredentialCache.DefaultCredentials;
connection.Url = new Uri("pathtoservice");

但我又在猜测。然而,由于第一个请求有一个未经授权的请求,似乎构造函数在没有凭据的情况下进行连接。在我覆盖函数并在执行基本函数之前首先添加凭据之前有一个类似的自定义函数,它已解决。 (在我的例子中,我仍然需要两个请求,因为我想从初始化中获得结果)

关于c# - 如何使数据服务发送一个带有凭据而不是两个的请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14055112/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com