我每隔10秒向Web服務發送三次http請求。響應被轉交給緩存類中的三個方法(每個http查詢/請求一個),以檢查自上次以來是否更改了響應內容。比較來自不同來源的新舊內容的通用方法
我原效應初探內容轉換爲字符串,並將其與舊響應,這是存儲在緩存類的私人字符串。它的工作原理好了,但是這種方法有很多重複的代碼,你可以看到:
class Cache
{
private HubClient _hubClient;
private string oldIncidentAppointment;
private string oldIncidentGeneral;
private string oldIncidentUntreated;
public Cache(HubClient hubClient)
{
_hubClient = hubClient;
}
public bool IsIncidentAppointmentNew(string currentIncidentAppointment)
{
if (XElement.Equals(oldIncidentAppointment, currentIncidentAppointment))
{
return false;
}
else
{
oldIncidentAppointment = currentIncidentAppointment;
_hubClient.SendToHub();
return true;
}
}
public bool IsIncidentUntreatedNew(string currentIncidentUntreated)
{
if (XElement.Equals(oldIncidentUntreated, currentIncidentUntreated))
{
return false;
}
else
{
oldIncidentUntreated = currentIncidentUntreated;
_hubClient.SendToHub();
return true;
}
}
public bool IsIncidentGeneralNew(string currentIncidentGeneral)
{
if (XElement.Equals(oldIncidentGeneral, currentIncidentGeneral))
{
return false;
}
else
{
oldIncidentGeneral = currentIncidentGeneral;
_hubClient.SendToHub();
return true;
}
}
}
這又如何重構成比較了我所有的當前和未來的HTTP查詢方法新舊內容的推廣方法?
字典我想 – Esailija
是啊,我在想同樣的事情。但是這種方法需要我對字典中的值進行硬編碼,因此不能很好擴展。我還有什麼其他選擇? FUNC? – mupersan82
字典中的硬編碼是什麼意思?該字典將任意字符串的任意數量(當然在內存限制內)映射到任意網頁內容。 – Esailija