У меня есть веб-служба asmx , которая принимает в качестве входных данных несколько простых типов, вызывает хранимую процедуру Oracle , от которой она получает ответ, а затем передает этот ответ вызывающей стороне..
Я хотел бы передать входные данные в службу и, предположив, что они действительны и требуемая операция успешно завершена, я бы хотел как-то сохранить входные данные (эффективным способом, поэтому не нажимаянапример, базы данных) в течение согласованного промежутка времени, затем отклоните любые попытки вызвать службу с теми же данными, пока не истечет этот промежуток времени.Надеюсь, это понятно.
Итак, с помощью псевдокода ...
[WebMethod]
public Response DoThings(int someInt, string someString, DateTime someDateTime)
{
if(!Stored(someInt, someString, someDateTime))
{
var response = new OracleRepository().CallStoredProcedure(someInt, someString, someDateTime);
StoreInputs(someInt, someString, someDateTime);
return response;
}
else return Response.TryLater;
}
private void StoreInputs(int someInt, string someString, DateTime, someDateTime)
{
Store(int someInt, string someString, DateTime, someDateTime);
}
private bool Stored(int someInt, string someString, DateTime, someDateTime)
{
//some code to find out if the data is stored
}
Я не новичок, но я новичок в C #, поэтому не совсем уверен, гденачать.Любая помощь будет принята с благодарностью.
Спасибо.