2017-03-17 88 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