2017-03-17 90 views
0

我已经添加了Visual Studio WCF连接服务的服务参考。从asp.net核心消费wcf服务未找到凭证

当我尝试消耗我收到的凭据找不到的异常。

从来就能够消耗asp.net的MVC这个服务,但使这项工作我做了一招,覆盖在请求头:

public class AgendasWs2 : CatalogosAgendasWS_A 
{ 
    protected override System.Net.WebRequest GetWebRequest(Uri uri) 
    { 

     HttpWebRequest request; 
     request = (HttpWebRequest)base.GetWebRequest(uri); 

     if (PreAuthenticate) 
     { 
      NetworkCredential networkCredentials = Credentials.GetCredential(uri, "Basic"); 
      if (networkCredentials != null) 
      { 

       byte[] credentialBuffer = new UTF8Encoding().GetBytes(networkCredentials.UserName + ":" + networkCredentials.Password); 

       request.Headers["Authorization"] = "Basic " + Convert.ToBase64String(credentialBuffer); 
      } 
      else 
      { 
       throw new ApplicationException("No network credentials"); 
      } 
     } 
     return request; 
    } 
} 

正如你可以看到我重写头在发送请求之前。

的服务有一个先发制人的身份验证类型

我没有做这在asp.net核心的任何想法。

任何帮助:)

回答

0
CredentialCache myCredentialCache = new CredentialCache(); 
myCredentialCache.Add(new Uri(url),"Basic", new NetworkCredential(userName,password,domainName)); 
NetworkCredential myCredential = myCredentialCache.GetCredential(new Uri(url),"Basic"); 

MSDN