واضح آرشیو وب فارسی:سایت ریسک: t=28698">توضيح در مورد فايل Global.asa computer online79 13 بهمن 1383, 22:51اگه بخواهم توي سايتم كنتور بزارم بايد از فايل Global.asa استفاده كنم . اگه ميشه در مورد اين فايل يه كم توضيح بدين . aminir 14 بهمن 1383, 08:53سلام هر برنامه ASP یا ASP.NET می تونه یه فایل Global داشته با شه که این فایل در دایرکتوری ریشه برنامه مستقر می شه این فایل ویژه توانایی کنترل ایونت ها و اشیاء برنامه مورد نظر رو داره یک سری از مهمترین ایونت هایی رو که این فایل می شناسه عبارتند از 1-Applicaion_AuthenticationRequest – قبل از شناسایی کاربر این ایونت رخ می دهد 2-Application_AuthorizeRequest – قبل از تعیین اختیارات رخ می دهد 3-Application_BeginRequest- هر دفعه که در خواستی از سرور صورت می گیرد رخ می دهد 4-Application_End –درست قبل از خاتمه تمام نمونه های برنامه رخ می دهد 5-- Application_EndRequest در پایان هر درخواست رخ می دهد 6-Application_Error –خطاهایی که کنترل خاصی رو ی آنها نگذاشتید این ایونت رو حادث می کنند 7-Application_PreSendRequestContent –قبل از ارسال محتوا به مرورگر حادث می شود 8- Application_PreSendRequestHeadres – قبل از ارسال هدر ها به مرورگر حادث می شود 9-Application_Start –بلافاصله بعد از ایجاد اولین برنامه حادث می شود این واقعه فقط یک بار رخ می دهد تغییر در فایل Global موجب شروع مجدد برنامه می شود و هر اطلاعات که در استیت برنامه ذخیره شده از بین می رود موفق باشی mazoolagh 14 بهمن 1383, 10:04بازاي هر virtual directory كه شما در IIS ميسازي يك فايل global.asa در root اون ساخته ميشه (در خود هم بالطبع هست) كه محتواي اون يك سري كد vbscript يا javascript هست و شما ميتوني ازش براي تعريف عناصر و وقايع مربوط به application و session استفاده كني ولي خودش مستقيما قابل اجرا نيست بلكه رخدادهاي asp application متناظر با اون هست كه اونها رو فراخواني ميكنه. asp application مجموعه فايلهاي asp هست كه در يك virtual directory و تمام زيرمجموعه اون قرار داره و عنصر application در فايل global.asa براي تعريف عناصري هست كه همه كاربرهاي يك asp application خاص بهش دسترسي دارن. در مقابل عنصر session وقتي معني پيدا ميكنه كه يك كاربر يكي از صفحات asp يك asp application رو باز كنه. هر عنصري كه در session تعريف بشه تا زماني كه كاربر توي صفحات مختلف همون asp application ميچرخه ثابت ميمونه و اين تا زماني هست كه يا session منقضي (expire بشه) يا توسط كد رها بشه (abandone) فايل global.asa معمولا 4 رخداد (event) مهم مربوط به application و session رو معين ميكنه. application_onstart وقتي اجرا ميشه كه يك كاربر براي اولين بار (پس از بالا آمدن سرويس) يكي از فايلهاي asp يك asp application رو باز كنه. application_onend وقتي اجرا ميشه كه هيچ sessionي در يك asp application باقي نمونده باشه. يعني يا همه كاربرها اون asp application رو ترك كردن يا اينكه IIS متوقف بشه. session_onstart هربار كه يك كاربر يكي از فايلهاي asp يك asp application رو درخواست ميكنه اجرا ميشه. session_onend رو هم كه قبلا گفتيم كي اجرا ميشه. كار كردن با اين 4 روال در عين حال كه مشكل نيست ولي هم دقت ميخواد هم يك قلق هايي داره. براي نمايش تعداد كاربرهاي در حال كار ميتوني از كدي شبيه به اي استفاده كني: sub application_onstart application("online_users")=0 end sub sub session_onstart application.lock application("online_users")=application("online_users")+1 application.unLock end sub sub session_onend application.lock application("online_users")=application("online_users")-1 application.unLock end sub اگر دقت كني ميبيني كه در application_onstart مقدار online_users بي مقدمه تعريف شده ولي براي عوض كردنش در session_onstart و session_onend اول application.lock و بعد application.unlock هست. علتش اينه كه application_onstart فقط يكبار و با اولين درخواست اجرا ميشه بنابراين اطمينان داريم كه كس ديگه اي نميتونه مقدار متغير رو تعيين كنه ولي در session_onstart و session_onend اين قضيه صادق نيست. computer online79 14 بهمن 1383, 22:05ممنون از توضيحاتتون
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 728]