powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / мануальный Cache.Add не работает
12 сообщений из 12, страница 1 из 1
мануальный Cache.Add не работает
    #37852830
Фотография flashslash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
привет всем!
столкнулся с проблемой при добавлении в кэш:

вот такой код не работает:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
using System.Web.Caching;
namespace testCacheApp
{
	public class myTest
	{
		public string t1{get;set;}
		public string t2 { get; set; }
		public string t3 { get; set; }
	}

	public partial class _Default : System.Web.UI.Page
	{
		protected void Page_Load(object sender, EventArgs e)
		{
		}

		protected void Button1_Click(object sender, EventArgs e)
		{
			List<myTest>lst=new List<myTest>();
			myTest mt=new myTest(); mt.t1 = "1"; mt.t1 = "2"; mt.t1 = "3";
			
			lst.Add(mt);

			Cache c = new Cache();

			c.Add("Key1", dsCache);
		}
	}
}



при попытке выполнения команды Add вылетает ошибка "Object reference not set to an instance of an object." то же самое, если по мануалу использовать Cache.Add("Key1", dsCache);

однако, если использовать
Код: c#
1.
HttpContext.Current.Cache.Insert("key1",lst);


то все без проблем.


Кто може пояснить почему мануальный код не работает?
и есть ли разница в использовании

Код: c#
1.
HttpContext.Current.Cache.Insert("key1",lst);


и
Код: c#
1.
HttpRuntime.Cache.Insert("key1",lst);

???

вроде по сути это одно и то же..
...
Рейтинг: 0 / 0
мануальный Cache.Add не работает
    #37852972
n3wb13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Код: c#
1.
Cache c = new Cache();
...
Рейтинг: 0 / 0
мануальный Cache.Add не работает
    #37852988
Фотография flashslash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
n3wb13,

не расстраивайтесь, вы лучше отреагируйте на вопрос.
я привел разные варианты кода.
Cache.Insert[...] не работает...
...
Рейтинг: 0 / 0
мануальный Cache.Add не работает
    #37852997
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flashslash,

Каким место вы смотрите в мануал?

П.С. Читайте мануалы БОЛЕЕ ВНИМАТЕЛЬНО .
...
Рейтинг: 0 / 0
мануальный Cache.Add не работает
    #37853103
Deza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flashslash,

И не будет работать!
Читать мануалы бегом.

новый экземпляр кеша создавать обычно нет необходимости, используй кеш потока
...
Рейтинг: 0 / 0
мануальный Cache.Add не работает
    #37853107
Deza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
Cache["key"] = "value";
Cache.Insert("key", "value");
Cache.Add("key", "value", null, DateTime.Now.AddMinutes(10), Cache.NoSlidingExpiration,CacheItemPriority.Default, null);
object o = Cache["key"];




add - Добавление указанного элемента в объект Cache с зависимостями, политиками сроков действия и приоритетов, а также с делегатом, которого можно использовать для уведомления приложения при удалении вставленного элемента из Cache.

Insert(String, Object) - Вставка элемента в объект Cache с ключом кэша для ссылки на его расположение с помощью значений по умолчанию, предоставленных перечислением CacheItemPriority.
...
Рейтинг: 0 / 0
мануальный Cache.Add не работает
    #37853206
Фотография flashslash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OracleLover,

...
Рейтинг: 0 / 0
мануальный Cache.Add не работает
    #37853214
Фотография flashslash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deza,

уважаемая, вы невнимательно прочли мой пост.
там как раз речь о том, что конструкции типа Cache.Add... Cache.Insert... воспринимаются компилятором ошибочно.
У вас самой этот код работает?
...
Рейтинг: 0 / 0
мануальный Cache.Add не работает
    #37853279
Starlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flashslashn3wb13,
Cache.Insert[...] не работает...

Используйте то что работает и не используйте то, что не работает.
...
Рейтинг: 0 / 0
мануальный Cache.Add не работает
    #37853285
Starlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dezaflashslash,

И не будет работать!
Читать мануалы бегом.

новый экземпляр кеша создавать обычно нет необходимости, используй кеш потока

Насколько я понял, его и нельзя создать.
...
Рейтинг: 0 / 0
мануальный Cache.Add не работает
    #37853343
Deza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flashslashDeza,

уважаемая, вы невнимательно прочли мой пост.
там как раз речь о том, что конструкции типа Cache.Add... Cache.Insert... воспринимаются компилятором ошибочно.
У вас самой этот код работает?


во первых я ОН.
во вторых все работает
На каждый домен приложения создается один экземпляр этого класса и он остается допустимым, пока активен домен приложения. Сведения об экземпляре этого класса доступны при помощи свойства Cache объекта HttpContext или свойства Cache объекта Page.



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
using System;
namespace WebApplication1
{
    using System;
    using System.Web.Caching;
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected void Button1_Click(object sender, EventArgs e)
        {

            if (!String.IsNullOrEmpty((String)Cache["key"]))
                Label1.Text = "Из кеша: " + (String)Cache["key"] + (String)Cache["key1"] + (String)Cache["key2"];
            else
            {
                Label1.Text = "Not Cache";
                Cache["key"] = "Cache";
                Cache.Insert("key1", "value1");
                Cache.Add("key2", "value2", null, DateTime.Now.AddMinutes(10), Cache.NoSlidingExpiration, CacheItemPriority.Default, null);
            }
        }
    }
}
...
Рейтинг: 0 / 0
мануальный Cache.Add не работает
    #37853461
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
топикстартер или непроходимо глуп или тролль
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / мануальный Cache.Add не работает
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]