我创建了一个 WCF webservice,它可以动态调用其他 webservices/db 连接,并使用 .LoadFile('from assembly') 加载 DLL。在其中一个程序集中,使用传入的网络凭据动态调用另一个 Web 服务,如下所示:
WebClient client = new WebClient();
client.Credentials = this.networkCredential; //This credential is passed in
RequestStream requestStream = client.OpenRead(this.url);
//剩下的代码。.OpenRead 给出 401 错误(未授权)。
当我从测试控制台应用程序以调试模式执行此操作并创建网络凭据时,如下所示:
NetworkCredential networkCredential = new NetworkCredential(<userid>,<password>,<domain>);
这很好用。
失败的代码提供如下网络凭据
System.Net.NetworkCredential networkCredential = System.Net.CredentialCache.DefaultNetworkCredentials;
任何帮助将不胜感激。