В настоящее время в моем проекте я столкнулся с проблемой, что нет разницы между двумя ситуациями при запросе данных:
В обоих случаях метод:
object Get(string key)
Member of Enyim.Caching.IMemcachedClient
возвращает просто null. Я хотел бы получить исключение или что-то во втором случае, чтобы отличить эти два случая.
Для SocketPool
receiveTimeout
устанавливается в {00:00:01}
, но даже будучи истекли исключение не выдается, как я ожидал. Не могли бы вы посоветовать?
Существует два интерфейса, которые MemcachedClient
реализует: IMemcachedClient
и IMemcachedResultsClient
. Каждый базовый метод на IMemcachedClient
имеет эквивалентный метод ExecuteXXX
на другом интерфейсе, который возвращает более подробные результаты.
Ты можешь сделать:
var result = client.ExecuteGet<MyType>(key);
результатом будет IGetOperationResult
который вы можете запросить для разных кодов состояния или получить сообщение для журналов или что-то еще.
По причинам, которые вы указываете, я предпочитаю всегда использовать ExecuteXXX()
более простых ExecuteXXX()
XXX()
, хотя для их использования может быть немного больше кода.