我有一個私人類HttpClient
。我有一個DoRequest
方法來處理我所有的請求,併爲內容/參數提供一個模板對象。到目前爲止,我有2個電話。一個是檢索一個令牌,另一個是獲取其他信息(GetInfo)。我GetInfo
方法將需要授權頭設置,所以我做這個調用DoRequest
前:HttpClient DefaultRequestHeaders授權異常
this.Client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
當我開始做一個Parallel.For
用於負載測試,我開始變得一An item with the same key has already been added
例外,有時。現在我明白,標題存儲在字典中,這就是爲什麼我得到例外,但我正在尋找如何解決這個問題的想法,同時保留我的DoRequest
設計。我想解決這個問題的方法之一是在我的HttpContent
對象中設置標題,但是它存在於我的DoRequest
方法中,我現在需要將一個標記參數傳遞給它。我不是說這是世界上最糟糕的事情,但我們正在尋找替代品,如果有的話。
我不知道我是否可以異步信任,因爲它可能不存在毫秒我檢查,然後存在,當我嘗試設置它。 – Pittfall
如果將整個支票包裝在鎖定語句中,則應該是線程安全的。我已經更新了我的答案以反映這一點。 –
我不這麼認爲,那將會使我的呼叫異步化。感謝您嘗試提供幫助,但將令牌傳遞給我的「DoRequest」方法是IMO的更好解決方案。 – Pittfall