Проблема с созданием объекта в WebForm
От: Shep Беларусь  
Дата: 30.11.01 12:18
Оценка:
Привет всем!

Сделал новый проект WebApplication, в котором есть WebService и WebForm. Если создать объект StoreService, вот так:

public class WebForm1 : System.Web.UI.Page
{
    ...
    protected Service1 StoreService; //добавлено вручную


    private void Page_Load(object sender, System.EventArgs e)
    {
        if (!Page.IsPostBack) 
        {
            StoreService = new Service1();    //выполняется (!) при загрузке страницы
        }
    }
        

    ...

    private void Button1_Click(object sender, System.EventArgs e)
    {
        //здесь StoreService уже равно null
    }
}


(т.е. при первой загрузке страницы), то в обработчике нажатия кнопки, StoreService уже равен null, т.е. к сервису уже обратиться нельзя.

А вот если создавать StoreService вот так:


private void InitializeComponent()
{    
  ...    
  this.StoreService = new WebApplication1.Service1();
  ...
}



то все работает на ура.

Подскажите пожалуйста — почему?
Re: Проблема с созданием объекта в WebForm
От: Clover  
Дата: 05.12.01 03:55
Оценка:
Я конечно не бог весть какой специалист по .NET, но по-моему состояние StoreService нужно при первом обращении к странице сохранять в сессии, а при последующих восстанавливать, примерно так :
    private void Page_Load(object sender, System.EventArgs e)
    {
        if (Session["storeServ"] == null)  
        {
            StoreService = new Service1();    //выполняется (!) при загрузке страницы
                        Session["storeServ"] = StoreService;
        }
             else
                {
            StoreService = (Service1)Session["stroreServ"];    
                }
    }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.