PDA

View Full Version : سوال: متغیر های استاتیک در ASP.C#.NET چگونه عمل میکنند؟



NULL!!
شنبه 25 بهمن 1393, 12:41 عصر
سلام
من یه فرم ساختم که کاربرا پس از ایجاد حساب کاربری واردش میشن

بعد، زمانی که کاربرا قراره وارد حساب کاربری خودشون بشن، یه سری از اطلاعات اولیه مربوط بهشون هم با ورودشون قراره به صفحه کاربریشون وارد بشه (مثلا داده های ورودی امکان داره ار نوعه DataTable باشن، یعنی نمیتونم از Session برای ارسال داده ها استفاده کنم و همچنین تعداد متغیر ها مثلا 30 تا هست، یعنی زیاده، یعنی بازم استفاده از مثلا Session غیر منطقی بنظر میاد)

من برای رفع این مشکل اومدم از متغیرهای استاتیک استفاده کردم، یعنی مثلا یه DataTable به صورت Static تو یه کلاس تعریف کردم و بعد همزمان با ورود کاربر به حسابش داده های مربوط به کاربر رو هم با هاش به فرمش اضافه کردم، خوبی این روش این بود که این کاربر توی هر صفحه ای که میرفت، تمام اطلاعاتی که مهم بود و لازم داشت رو به راحتی میتونستم از صفحه بگیرم

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

اگه استفاده از متغیر استاتیک برای این منظور درست نیست، از چه راهی میتونم برای پست کردن اطلاعات به صفحه های دیگه استفاده کنم؟

* بعضی از اطلاعات رو میشه، توی هر صفحه (به طور جداگانه!) با توجه به مثلا ID کاربر، از بانک گرفت، اما همه ی اطلاعات رو نمیشه به این صورت ارسال و تو صفحه های دیگه دریافت کرد (مثلا داده هایی که RunTime به ازای هر کاربر ایجاد میشن)

بنظرتون برای رفع این مشکل (اگه داده های استاتیک برای همه ی کاربرا به اشتراک گذاشته بشن، باید چکار کرد؟)

NULL!!
شنبه 25 بهمن 1393, 17:00 عصر
خب الان که دوباره اومدم صورت سوالو خوندم بنظرم برای تمام وضعیت ها بشه یه جوری با کمک بانک، داده ها رو حتی به صورت موقت به صفحه ها یا بخش های دیگه منتقل کرد.

فقط یه کم بنظرم سرعت این روش کم باشه

اگه روش بهتری وجود داشت لطفا راهنمایی کنید

مرسی