0
我有3個應用程序試圖在本地運行它們。無法將類型爲'System.Security.Claims.ClaimsIdentity'的對象轉換爲鍵入'System.Security.Principal.WindowsIdentity'
第一個我正在運行集成測試,它正在調用第二個('中間')應用程序,該應用程序應該在本地系統上創建一個報價,然後調用公司「全球」系統負責用戶管理的第三個系統。而在
protected ApplicationAuthorisationService()
{
CurrentIdentity = (WindowsIdentity)Thread.CurrentPrincipal.Identity;
}
鑄造System.Security.Claims.ClaimsIdentity
到System.Security.Principal.WindowsIdentity
我有「負責用戶管理全球系統」小知識,因爲它是由其他部門處理,我仍需要調查爲什麼
它失敗我的本地機器上的測試失敗。
「中間」的應用程序構建網址和簡單的調用由全球一個GET
private HttpClient GetHttpClient()
{
try
{
var client = new HttpClient
{
BaseAddress = this.BaseUri,
};
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
return client;
}
catch (Exception ex)
{
ILogHelper.LogException(ex, Log, LoggerLevel.Error);
throw;
}
}
片段,使實際調用。
using (var client = this.GetHttpClient())
{
client.SetBearerToken(this._token.AccessToken);
var uri = new Uri(client.BaseAddress, string.Format("api/crmcustomer/?FirstName={0}&Surname={1}&DateOfBirth={2}&PostCode={3}&GetLatestWhenThereAreMultipleResults={4}",
parameter.FirstName,
parameter.Surname,
parameter.DateOfBirth.HasValue ? parameter.DateOfBirth.Value.ToString("yyyy-MM-dd") : string.Empty,
parameter.PostCode,
parameter.GetLatestWhenThereAreMultipleResults));
this.Log.Info("URI: " + uri);
this.Log.Debug("parameter.FirstName: " + parameter.FirstName);
this.Log.Debug("parameter.Surname: " + parameter.Surname);
if (parameter.DateOfBirth != null)
this.Log.Debug("parameter.DateOfBirth: " + parameter.DateOfBirth.Value.ToString("yyyy-MM-dd"));
this.Log.Debug("parameter.PostCode: " + parameter.PostCode);
this.Log.Debug("parameter.GetLatestWhenThereAreMultipleResults: " + parameter.GetLatestWhenThereAreMultipleResults);
var response = await client.GetAsync(uri).ConfigureAwait(false);
response.EnsureSuccessStatusCode();
return await response.Content.ReadAsAsync<CtiResponse>();
}
這可能是什麼原因造成的?
「所以這個異常沒有什麼意義」 - 如果繼承了周圍的其他方法,除了將沒有任何意義。蘋果(WindowsIdentity)是一種水果(ClaimsIdentity)。這並不意味着你可以隨便拿一塊水果並魔法般地將它變成蘋果。 –
@Damien_The_Unbeliever我剛剛遇到了一個我懷疑自己的時刻,我是愚蠢的還是盲目的。謝謝。 –