PDA

View Full Version : متغیر static در محیط وب



maktab
پنج شنبه 20 بهمن 1390, 19:39 عصر
سلام
میخوام ببینم وقتی متغیری را static معرفی میکنیم در محیط وب برای چه افرادی ثابته؟
مثلا یه متغیر از نوع int را static معرفی میکنم و چهارنفر وارد سایت میشند. نفر اول به متغیر مقدار 10 را میده، این مقدار براش تا وقتی تغییرش نده ثابته. حالا مقدار این متغیر برای سه نفر دیگه نیز به چه صورته؟ همان 10 هست؟

mohsen.nsb44
پنج شنبه 20 بهمن 1390, 19:55 عصر
دوست عزیز اگه امکان داره کدتون رو بزارین تا بهتر بتونیم راهنمایی بکنیم

maktab
پنج شنبه 20 بهمن 1390, 20:09 عصر
دوست عزیز اگه امکان داره کدتون رو بزارین تا بهتر بتونیم راهنمایی بکنیم
اول ممنون از اینکه جواب دادید. ولی فکر نکنم نیاز به کد خاصی باشه! من برام سوال پیش آمده بود میخواستم ببینم وقتی این کار را میکنم چه اتفاقی می افته تا درست استفاده کنم. بزارید یه مثال بزنم.
مثلا توی یک فرم داشته باشیم:


static int Count ;

حالا وقتی یه کاربر وارد آن فرم از سایت میشه مقدار کوئری استرینک صفحه برابر Count میشه. مثلا 10. حالا این مقدار فقط برای این کاربر ثابته یا برای هرکی که وارد آن صفحه میشه همین 10 است؟ اگر یکی دیگه وارد صفحه بشه و مقدارش را 15 بکنه مقدار برای کاربر اولی هم تغییر میکنه؟
در کل می خوام ببینم حالت ایستای یک متغیر حالا میخواد هرچیزی باشه، در اینترنت برای کیا ثابته؟ برای یک کاربر یا هرکسی که تویه آن صفحه است؟

maktab
پنج شنبه 20 بهمن 1390, 20:48 عصر
گویا بله برای تمام کاربران ثابته.
برای مثالی که زدم بهتره از ViewState استفاده کنیم. ولی خب برای داشتن چنین امکانی بهتره از چی استفاده کنم؟
من یک لیستی از منوها دارم. این لیست توی بانک ذخیره شده. حالا من نیاز دارم وقتی کاربر وارد سایت میشه تمام اطلاعات این منوها خونده بشه (بدون پست بک و فقط بار اول) بعد باید این اطلاعات را موقتا فقط برای این کاربر جایی نگهشون دارم تا بتونم از اطلاعاتش استفاده کنم.
حالا اگر ایستا معرفی بشه آن موقع برای تمام کاربران ثابته و اگر یک کاربر تغییری در لیست بده برای کاربر قبلی هم تغییر میکنه که این درست نیست.
میشه از همون ViewState برای لیست ها استفاده کنم؟ کار درستیه؟ یا روش بهتری وجود داره؟

mahdi.violin
چهارشنبه 17 خرداد 1391, 04:23 صبح
به این تاپیک کسی جواب نهایی نداده ؟
متغیر های استاتیک تا چقدر در حافظه سرور می مونن .
آیا می شه از حافظه استاتیک به عنوان کش استفاده کرد . برای مثال دوستمون اگر منوی رو یکبار از دیتا بیس خوندیم اون رو در یک متغیر استاتیک بریزیم و برای دفعات بعد از متغییر استاتیک بخونیم.

mahmood_4246
پنج شنبه 18 خرداد 1391, 15:02 عصر
سلام..یه مقاله درباره متغییرهای استاتیک تو سایت وحید نصیری هست که کامل بحث شده
http://www.dotnettips.info/2010/12/aspnet.html