Статические кеши в веб-сервисах - PullRequest
0 голосов
/ 08 июня 2009

Это правильный способ инициализации объекта статического кэша в веб-сервисе?

public class someclass{
 private static Cache cache;
 static someclass()
    {
        cache = HttpContext.Current.Cache;
    }
}

Подробнее:

Seems like I receive more then one cache object from webservice. It creates a new request that only lasts for the duration of that call. If I move to a different machine, it creates a new request (and I think a webservice ) object that returns new cache. (because I can see two different caches being returned in the sniffer) By forcing it to be static I was hoping to have only one. However no avail. doesn't work.

Ответы [ 2 ]

0 голосов
/ 08 июня 2009

Почему бы просто не получить к нему доступ напрямую, используя HTTPContext.Current.Cache?

0 голосов
/ 08 июня 2009

Это выглядит хорошо для меня - особенно если вы собираетесь обернуть Current.Context и выставить свойства для значений кэша, как это:

public static class CacheManager
{
    public static Boolean Foo
    {
        get { return (Boolean)HttpContext.Current.Cache["Foo"] }
        set { HttpContext.Current.Cache["Foo"] = value; }
    }

    // etc...
}

Вам на самом деле не нужно создавать личную ссылку на текущий кеш, если только вы не делаете это, чтобы сэкономить при печати. Также обратите внимание, что я сделал класс static.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...