【问题标题】:Consuming Web Service in C#: Basic Authentification and dynamic endpoint url在 C# 中使用 Web 服务:基本身份验证和动态端点 url
【发布时间】:2014-08-05 16:02:35
【问题描述】:

我正在尝试从 c# 调用一个肥皂网络服务。使用静态 URL 且无需身份验证,一切正常。我使用 wsdl 和 csc 生成一个 dll 并使用 Web 引用。这一点很容易。

对于动态 URL,我见过 http://www.codeproject.com/KB/XML/wsdldynamicurl.aspx,但这是从 2005 年开始的,我不知道这是否已过时。使用“正常”引用是否正确?

我的 Web 服务正在使用基本身份验证,但我不知道如何提供用户/密码。

我已经看到http://benpowell.org/supporting-the-ws-i-basic-profile-password-digest-in-a-wcf-client-proxy/ 但这看起来真的很复杂,我希望有一个更简单的方法来实现基本身份验证。

【问题讨论】:

  • 您是否尝试过您提到的博客中给出的这个示例?

标签: c# web-services authentication


【解决方案1】:

要为您的 Web 请求实施基本身份验证,您必须对您的请求使用 NetworkCredential。

NetworkCredential creds = new NetworkCredential(user,password);

WebRequest req = WebRequest.Create(Url);
req.Credentials = creds;

如果您使用 Web Reference 访问 Web 服务;当您创建代理类的对象时,只需为其分配凭据即可。

NetworkCredential creds = new NetworkCredential(user,password);
proxy.Credentials = creds ;
//call your web methods here.

对于动态 URL,您提到的文章应该可以工作。

【讨论】:

  • 感谢您的回复。当我使用网络引用时,你能告诉我在哪里可以找到 WebRequest 吗?不好意思,我是新手。
猜你喜欢
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多