0
我有一個ASP .NET MVC應用程序,允許用戶通過調用API創建工作項。創建工作項後,我將重定向到顯示當前工作項的頁面(另一個API調用)。但是,檢索工作項的API請求的處理速度比創建工作項的速度快,導致顯示不顯示剛剛創建的工作項。我目前正在使用thread.sleep進行測試,但希望能夠以正確的方式處理此問題。團隊服務 - 通過API創建工作項需要比檢索當前工作項更長的時間
這是我的控制器行動處理創建工作項目
WICreator addNewWI = new WICreator();
addNewWI.CreateWorkItem(model.SystemTitle, model.SystemDescription);
Thread.Sleep(2000);
return RedirectToAction("WorkItems", "Home");
這裏後提交按鈕被調用的API來創建工作項
public void CreateWorkItem(string title, string description)
{
string personalAccessToken = "xxx"
string credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes(string.Format("{0}:{1}", "xxx", personalAccessToken)));
string project = "xx"
string path = "xx"
Object[] patchDocument = new Object[3];
patchDocument[0] = new { op = "add", path = "/fields/System.Title", value = title };
patchDocument[1] = new { op = "add", path = "/fields/System.AreaPath", value = path };
patchDocument[2] = new { op = "add", path = "/fields/System.Description", value = description };
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", credentials);
var patchValue = new StringContent(JsonConvert.SerializeObject(patchDocument), Encoding.UTF8, "application/json-patch+json");
var method = new HttpMethod("PATCH");
var request = new HttpRequestMessage(method, "https://xx.xx.com/xx/_apis/wit/workitems/xxxapi-version=1.0") { Content = patchValue };
var response = client.SendAsync(request).Result;
if (response.IsSuccessStatusCode)
{
var result = response.Content.ReadAsStringAsync().Result;
}
}
}
你需要顯示與更新的WICreator –
@ScottChamberlain代碼模型方法 –