powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Не могу сделать глобальную переменную
14 сообщений из 14, страница 1 из 1
Не могу сделать глобальную переменную
    #39335176
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Понадобилось мне на нескольких страницах (в файлах с кодом) и вебсервисах использовать одинаковые ДатаСеты. Естественно, так как это нужно было уже вчера, быстро применил ООП в виде копи-пасте.

Сейчас собрался переписать все это с использованием одной глобальной переменной. Так как последний раз я этим занимался лет 10 тому назад, то накрепко забыл что надо делать.

Нашел в интернетах:

http://professorweb.ru/my/ASP_NET/base/level5/5_5.php

Вот так начинается у меня Global.asax

Код: c#
1.
2.
3.
4.
5.
6.
<%@ Application Language="C#"  CodeBehind="Global"%>
<%@ Import namespace="System.Data" %>
<%@ Import namespace="System.Data.SqlClient" %>

<script runat="server" > 
        public static DataSet ds = new DataSet();


Но почему-то не получается написать в коде страниц

Код: c#
1.
var v = Global.ds.AsEnumerable(). ... ;


Нет такого слова - Global.

Если на страницах удается выкрутиться с помощью такого обращения

Код: c#
1.
global::ASP.global_asax.ds



то в веб-сервисах это не работает.

Как мне сделать, что бы работало везде и как положено?
...
Рейтинг: 0 / 0
Не могу сделать глобальную переменную
    #39335221
WildMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2, синглтон. А разве нельзя объявить статический класс со статическим свойством?
...
Рейтинг: 0 / 0
Не могу сделать глобальную переменную
    #39335230
WildMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildMageCat2, синглтон. А разве нельзя объявить статический класс со статическим свойством?
Так то в принципе пофиг в каком месте проекта держать это свойство.
...
Рейтинг: 0 / 0
Не могу сделать глобальную переменную
    #39335253
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
WildMageCat2, синглтон. А разве нельзя объявить статический класс со статическим свойством?
Можно, но не понятно почему не работает в Global.asax?
...
Рейтинг: 0 / 0
Не могу сделать глобальную переменную
    #39335259
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2WildMageCat2, синглтон. А разве нельзя объявить статический класс со статическим свойством?
Можно, но не понятно почему не работает в Global.asax?
Потому что global::ASP.global_asax.ds появиться "после", а классы, отличные от страниц и некоторых других есть уже "сейчас".
...
Рейтинг: 0 / 0
Не могу сделать глобальную переменную
    #39335260
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,
Есть желание углубиться, почитай про модель компиляции asp.net.
...
Рейтинг: 0 / 0
Не могу сделать глобальную переменную
    #39335371
vagner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2, я в Session храню.
...
Рейтинг: 0 / 0
Не могу сделать глобальную переменную
    #39335633
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vagnerCat2, я в Session храню.
Так сессия для одного пользователя, а мне надо для всех.
============
Сделал статик класс, все нормально работает. Че-то я с утра тупил от расстройства, что ничего не получается

WildMage, спасибо за инициирующие слова.
...
Рейтинг: 0 / 0
Не могу сделать глобальную переменную
    #39335651
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ЕвгенийВCat2,
Есть желание углубиться, почитай про модель компиляции asp.net.
Почитал. Думал узнаю что-то новое.
Однако появился вопрос.

На сайте работает виндовс аутентификация. Кроме одного каталога, который настроен на аутентификацию по паролю. Так надо.

Этот каталог настроен как приложение, назовем его Z, и имеет свой каталог APP_CODE.

Я сделал статический класс с глобальными переменными и сунул его в APP_CODE в корневом каталоге, а в Z - забыл.

Z стало показывать ошибку компиляции. Копирнул туда и все заработало.

Вопрос. Global.asax у меня только один в корневом каталоге. В нем эти глобальные переменные инициализируются.

Каким образом инициализировались переменные в Z?
Ведь они в другом файле ?
...
Рейтинг: 0 / 0
Не могу сделать глобальную переменную
    #39336009
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,
У тебя 2 разных AppDomain, Z вообще никак не видит основного приложения, они компилируются в разные каталоги и разве что исполняются в одном процессе (смотря как настроено).
На вскидку могу посоветовать настроить сессию в отдельном процессе или (что тормазней) в sql server и передавать значение через Session.
Ну или придумать другой способ кросдоменного (межпроцессного) общения...
...
Рейтинг: 0 / 0
Не могу сделать глобальную переменную
    #39336852
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Понадобилось мне на нескольких страницах (в файлах с кодом) и вебсервисах использовать одинаковые ДатаСеты.
IIS процессы могут внезапно перезапускаться с потерей соответственно всех этих датасетов
...
Рейтинг: 0 / 0
Не могу сделать глобальную переменную
    #39336938
fsharp_fsharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Сейчас собрался переписать все это с использованием одной глобальной переменной "

ТС пытается сделать дикий костыль. а где будет жить эта "глобальная переменная"?

нормальное решение, скорее всего, сводится к кэшированию
...
Рейтинг: 0 / 0
Не могу сделать глобальную переменную
    #39336990
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fsharp_fsharpа где будет жить эта "глобальная переменная"
в redis, например
...
Рейтинг: 0 / 0
Не могу сделать глобальную переменную
    #39336997
fsharp_fsharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилfsharp_fsharpа где будет жить эта "глобальная переменная"
в redis, например

т.е. концептуально - кэш
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Не могу сделать глобальную переменную
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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