PDA

View Full Version : گفتگو: فایل global.asax چیست و چه کاربردهایی دارد



sayanpro
یک شنبه 11 خرداد 1393, 17:42 عصر
سلام دوستان گرامی.
وقت بخیر.
فایل global.asax چیست و چه متددهایی دارد؟

بودن یا نبودن آن در پروژه های تحت وب چه تائیری دارد؟

آیا در صفحات دیگر می توان از متدهای آن استفاده کرد؟

نحوه اجرای این فایل در برنامه چگونه است؟ (یعنی چطور و کی اجرا می شود )

با تشکر.

alireza.zahani
یک شنبه 11 خرداد 1393, 18:08 عصر
ببین global نباشه مشکلی نیست
ولی اگه بخوای یه کارهای خاصی انجام بدی استفاده از اون حرفه ایی ترین کاره
مثلا
اگه بخوتی کاربران انلاین تو بشماری از begin request این فایل استفاده میکنی
یا مثلا اگه بخوای تبدیل تاریخ میلادی به شمسی بکنی دیگه نمیای با توابع تک تک تاریخ رو تبدیل کنی
خود این فایل میتونه در زمان اجرا در سیستم کاربر همه تاریخ های صفحه جاری رو بشناسه و برات تبدیلاتتو انجام بده بدون پردازش اضافه

alireza.zahani
یک شنبه 11 خرداد 1393, 18:10 عصر
به طور کلی این فایل بهت این اختیار رو میده که بدونی برنامت کجا داره اجرا میشه چند بار داره اجرا میشه و در حال اجرا چه کاری دوس داری انجام بشه

alireza.zahani
یک شنبه 11 خرداد 1393, 18:10 عصر
تعریفاتم عامیانه بود برا درک بهتر

sayanpro
یک شنبه 11 خرداد 1393, 18:40 عصر
تشکر از شما.
در مورد توضیحات اولی می تونید بیشتر توضیح بدید.
مثلا تبدیل تاریخ تو کل صفحات انجام میده یعنی چه جوری :افسرده: و اینکه دیگه اینکار تک تک انجام نمیدی ؟

در مورد متدهای دیگه این کلاس هم میتونید بیشتر توضیح بدید با امکانات دیگه این کلاس آشنا بشیم

با تشکر زیاد

alireza.zahani
یک شنبه 11 خرداد 1393, 19:43 عصر
خواهش
برای تشکر دکمه تشکر رو هم بزنید کافیه
ببینید ما یک کلاس برای تاریخ مینویسیم و اونو در begin request فراخوانی میکنیم
در غیر این صورت شما باید برا تک تک تاریخ ها کد بزنی
خوش بینانش اگه 50 قسمت تبدیل تاریخ داری باید 100 خط کد اجرا شن
ولی با این کار همه چی با 2 خط هستش

sayanpro
دوشنبه 12 خرداد 1393, 07:51 صبح
مثال برنامه ای می تونید بزنید.
بعد اینکه در مورد متدهایی که در این فایل وجود دارد، به نظر شما مهمترین هاش کدام هستند؟

با تشکر.

ahmad156
دوشنبه 12 خرداد 1393, 09:51 صبح
سلام دوست عزیز
در ASP.NET پردازش هر درخواست دارای مراحل یا فازهای مختلف است و در هر فاز رویدادهای مشخصی وجود دارد.شما میتونید این رویدادها رو یا با httpmodule پیاده سازی کنین یا با استفاده از Gobal.asax.
البته Global.asax مخصوص رویدادهای در سطح پروژه(application) هست نه رویدادهای صفحه، پس دسترسی به اونها در صفحه بی معنی هست.در ضمن هر پروژه فقط یه Global.asax میتونه داشته باشه.
مثلاً شما در نظر بگیرین میخواین IP x رو بلاک کنین.خب شما اگه قرار باشه تو pageload هر صفحه بیاین IP کاربر رو چک کنین و فرضاً پروژه شما دارای 50 تا صفحه باشه خب کارتون خیلی سخت میشه ولی با یک بار کد نویسی تو Global.asax به راحتی کارتون انجام میشه.

کاربرد عملی اون رو میتونین اینجا (http://barnamenevis.org/showthread.php?415958-%D8%AA%D8%B9%DB%8C%DB%8C%D9%86-%D8%A7%D8%B9%D8%AA%D8%A8%D8%A7%D8%B1-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-FormsAuthentication&highlight=formsauthentication)ببینین.کار رد های دیگه اون مثل شمارش بازدید،افراد آنلاین،جلوگیری از حملاتی همچون Brute Force، بلاک کردن IP و ...
در ضمن اجرای اون نیاز به فراخوانی نداره.

shayanrad
سه شنبه 09 شهریور 1395, 09:02 صبح
معمولا برای کنترل ساده تر IP افراد است که البته در پروژه های بزرگ کاربرد چشمگیری دارد.





خرید بلیط چارتری (http://ba-charter.com/)