Data types
انواع مختلفی از داده ها وجود دارند
Integer
یک عدد صحیح می باشد.
دو نوع داده با Integer وابستگی دارند .
byte, long .
long می تواند اعداد بزرگتر از محدوده integer را در خود ذخیره نماید.
یک byte کوچکتر می باشد.
اعداد اعشاری یا Floating-point numbers
اعداد اعشاری اعداد decimal می باشند .
توجه به این نکته مهم می باشد که اعداد ممیز شناور و اغلب گرد شده یا بریده می شوند تا به اندازه فضایی شوند که به آنها اختصاص داده شده است .
نوع داده أی single , double به اعداد ممیز شناور ، اختصاص داده شده اند فرق بین این دو دقت اعدادی که در خود ذخیره می کنند می باشند در نوع داده double دو برابر single حافظه لازم دارید اما بدیهی است که محدوده اعداد بزرگتر را می تواند در خود نگهداری کند و همچنین دقت بیشتری نسبت به single دارد
رشته String
یک رشته می تواند زنجیره أی از حروف ، اعداد، و نشانه ها را در داخل خود نگهداری کند.
اطلاعات Data
یک ویژگی مفید Vbscript که در دیگر زبانهای برنامه نویسی وجود ندارد مدیریت اطلاعات می باشد .
اگر چه می توان داده ها را به صورت رشته ها یا اعداد نمایش داد ولی استفاده از این متغیر داده أی می تواند زمان یا تاریخ و اطلاعات متنوع توابع تاریخ Vbscript و عملگرهایی که فرمت و اطلاعات مربوط به تاریخ را چاپ می نمایند را نگهداری کنند.
Boolean
یک متغیر boolean مقادیر درست یا غلط را در خود نگهداری می کند.
نوع داده Currency
یک عدد دقیق که تنها برای ذخیره مقادیر پولی به خوبی کار خواهد کرد اما Vbscript یک نوع داده مخصوص برای پول مهیا می کند که با چندین تابع ویژه Vbscript کار می کند .
Object
این قسمت به اشیاء مخصوص اشاره دارد در مارکردن با عملگرهای مربوطه به پایگاه های داده استفاده می شود.
Variant Vciriables
در بیشتر زبانهای برنامه نویسی یک فرقی باید بین متغیرهای داده های مختلف وجود داشته باشد.
یک متغیر که برای نگهداری رشته ها استفاده می شود بعداً برای نگهداری یک عدد نمی تواند مورد استفاده قرار بگیرد البته این موضوع در زبان Vbscript صادق نمی باشد.
Vbscript از Variant Vciriables هایی استفاده می کند که متغییرهایی هستند که شامل مقادیری از هر نوع می تواند باشد.
مقدار دادن به یک متغیر
در تعدادی از زبانهای برنامه نویسی قبل از اینکه شما از متغییرها استفاده کنید باید به سیستم اعلام نمایید که از چه نوعی از داده می خواهید در داخل متغیر استفاده کنید و چه کاری با آن متغیر می خواهید انجام دهید.
برای مثال در زبان برنامه نویسی c++ شما باید بگویید که
int my-variable;
my-variable = 2;
Vbscript همه چیز را کمی ساده تر می کند در Vbscript لازم نیست که نوع متغیر را یعنی char, real, integer یا هر نوع متغیری را که ایجاد می کنید تعیین نمایید.
در Vbscript همه متغیرها به وسیله کلمه کلیدی dim تعریف می گردند این بدین خاطر است که در Vbscript از variant variables ها استفاده می گردد .
بنابراین جمله معادل برای آن چیزی که در c++ توصیف شد عبارت زیر است
Dim my_variable
در اینجا در اولین خط my_variable به عنوان متغیر توصیف گشته است بدون اینکه my_variable را به عنوان یک متغیر از نوع integer تعیین نماییم.
حتی خط اول ابداً لزومی ندارد در Vbscript استفاده از خط دو بدون اینکه اشاره أی به my_variable شود به سادگی قابل قبول می باشد به این کار implicit declaration می گویند.
از dashes,perrids,Spaces استفاده نکنید .
استفاده از هر کدام از موارد ذکر شده در نام متغیرتان یک پیغام خطا را ایجاد می کنند در عوض اگر شما می خواهید چیزی را گسترش دهید سعی کنید از علامت (_) استفاده نمایید برای مثال my_first_variable یک نام متغیر است در صورتی که my first variable چنین نمی باشد.
نامهای متغیر ها باید با یک حرف شروع شوند Underscore و اعداد می توانند در داخل نامهای متغیرتان تعریف گردند اما نه به عنوان کاراکتر اول.
نامهای متغیر ها باید با یک حرف شروع شوند Underscore و اعداد می توانند در داخل نامهای متغیرتان تعریف گردند اما نه به عنوان کاراکتر اول.
نام متغیرها نباید طولانی تر از 255 کاراکتر باشد.
از کلمات کلیدی به عنوان متغیرها استفاده نکنید.
از نام متغیرها دوباره استفاده ننمایید شما می توانید از نام متغیرها دوباره استفاده نمایید فقط آگاه باشید که شما نمی توانید از همان نام برای دو متغیر مختلف استفاده نمایید.
همان طوری که پیش از این ذکر گردید پیش از این ذکر گردید Vbscript از variant variable ها استفاده می نماید که با وجود آنها شما دیگر نیازی برای ساختن یک متغیر مخصوص برای یک نوع داده را ندارید.
آنها کدهای شما را برای خواندن دیگران ساده تر می نمایند اما بهتر از آن اینکه آنها چیزهایی را برای شما که می خواهید بنویسید راحتتر می نمایند.
استفاده از نامهای توصیفی بیشتر برنامه نویسان سعی می کنند که به وسیله استفاده از یک حرف برای نام متغیرها کمتر تایپ نمایند .
تصور نمایید که شما در خال خواندن 100 خط از کدها می باشید و به یک خطی مثل x=5 برخورد می نمایید این عبارت به چه معنی می باشد؟
حرف x چیست ؟
آیا یک متغیر از نوع رشته أی می باشد که می خواهید اسم کاربر را در خود نگاه دارد که در آن صورت نامی مانند strUserName را باید به کار ببرید اگر آن یک رشته را نگاه می دارد که حقوق اشخاص می باشد باید آن را syssalary بنامیم .
تمام متغیرها را در ابتدای برنامه تعریف نمایید اگر حتی بعد از استفاده از نامهای مناسب شما در به یادآوری نام یک متغیر به خصوص دچار مشکل شدید بهتر است بدانید که کجا می توانید آن متغیر را پیدا کنید بیشتر زبانها از این واقعیت استفاده می نمایند.
ثابتها Constants یک ثابت متغیری می باشد که شما به آن یک نام داده اید و یک data را در آن ذخیره کرده اید .
برعکس متغیرها ،ثابتها وقتی که آنها را تعریف می کنید ، یک مقدار می گیرند و آن مقدار دیگر تغییر داده نمی شود.
Vbscript چندین ثابت پیش ساخته برای خود دارد.
آرایه ها یک نوع دیگر از داده ها وجود دارند که شما هنوز به آنها برخورد نکرده اید یک متغیر آرایه أی ، مجموعه أی از متغیرها می باشند با داشتن یک نام ، اما به وسیله یک اندیس تشخیص داده می شوند.
آرایه ها برای گروهی از داده ها که از یک نوع می باشند استفاده می شوند.
چگونه نوع متغیرها را مشخص می کنید ؟
دو تابع در هنگام data type که در داخل متغیرها ذخیره می گردند سودمند می باشند اولین آنها vartype می باشد که به صورت زیر مورد استفاده قرار می گیرد.
Vartype (variable-name) تابع vartype یک کد عددی را بر می گرداند که مطابقت داشتن با نوع داده را مشخص می کند .
تابع دوم که قشنگتر از اولی است تابعی به نام typename می باشد .
typename یک رشته را بر می گرداند که نام نوع داده أی است که به عنوان یک کد استفاده می شود و مانند تابع vartype استفاده می گردد مقادیر برگشتی از تابع typename و منظور آنها در جدول 3-3 لیست شده است.
انواع کنترل ها سه نوع اصلی از ساختارهای کنترلی در برنامه نویسی مورد استفاده قرار می گیرند.
آنها اجازه کنترل کردن را به ما می دهند تا دستورات را هر چند بار که می خواهیم اجرا کنیم.
استفاده ی بجا از این ساختارهای کنترلی برای یک برنامه نویس به عنوان یک مهارت محسوب می گردد خوشبختانه منطق پشت این ساختارها بسیار واضح می باشد.
1 ـ منطق شرطی 2 ـ منطق حلقه ها 3 ـ منطق انشعابی یا Branching logic IF –Then statement جمله if … then یکی از معمولترین ساختارهای کنترلی می باشد.
شکا دستوری آن بصورت if condition Then code block End if If … then …..
else statement گاهی اوقات مفید است که یک قطعه از کد فقط وقتی اجرا گردد که شرط ما غلط است .
شما می توانید با اضافه کردن یک عبارت else به ساختار if … then این کار را انجام دهید.
If condition then Code block 1 Else Code block 2 End if ElseIf statement عبارت elseIf ساختارهای if های تو در تو را ساده تر می سازد برای مثال به عبارت if در مثال زیر توجه نمایید : if condition then code block 1 else if condition2 then code block 2 can be changed to this: if condition 1 then code block 1 ElseIf condition 2 then Code block 2 … تابع ElseIf به عنوان یک ترکیب از if و else می باشد دو چیز را هنگامی که از تابع else if استفاده می کنید در نظر داشته باشید.
تابه ElseIf بعد از یک Else قرار نمی گیرد .
شما می توانید از ElseIf به صورت تکراری استفاده نمایید.
اما عبارت ElseIf را بعد از Else نباید استفاده کنید .
ElseIf نیازی به end if ندارد اما عبارت if اصلی به endif نیاز دارد کنترل های منطقی حلقوی منطق حلقه یک بلوک از کدها را به صورت تکراری اجرا می نماید ابیته تا وقتی که شرط معینی اتفاق بیفتد یا هنگامی که شروط معینی درست باشند.
عبارات Do … loop Do ….
Loop یکی از دو شکل را می تواند داشته باشد شکل اول do while … loop یک بلوک از کد را تا هنگامی که شرط معینی درست باشد اجرا می کند.
نوع دوم do until … loop یک بلوک از کد را تا وقتی که به یک شرط معین برسد اجرا می کند.
Do while … loop شکل عبارت do while … loop به صورت زیر می باشد.
Do while condition Code block Loop کد بلوک تا زمانی که شرط درست است اجرا می گردد اگر شرط نادرست باشد برای بار اول عبارت do اجرا می گردد اما حلقه هیچگاه اجرا نمی گردد.
مثال زیر اعداد 1 تا 10 را با استفاده از Do while … loop می شمارد.
Icount =1 Do while icount Response.
write (icount) Icount = icount + 1 LOOP عبارتهای Do until … loop عبارت do until … loop بسیار شبیه عبارت Do while ….
Loop می باشد تنها فرق آن با do while … loop در این است که در Do until … loop حلقه تا زمانی اجرا می گردد که شرط true شود نه false هرکاری که یکی از آنها می تواند انجام دهد حلقه نوع دوم نیز می تواند انجام دهد تنها فرق در این است که آیا شرط به صورت مثبت نوشته شده است یا خیر ؟
شمارنده تا 10 (فقط زیر) یک اسکریپت می باشد که در آن از حلقه Until به جای while استفاده شده است.
Dim icount Icount =1 Do Until icount > 10 Response.
write (icount) % > Icount = icount + 1 LOOP %> عبارتهای While …Wend عبارت While … wend همانند Do while… loop می باشد این دستور زبان به خاطر اینکه برای بیشتر برنامه نویسان آشنا می باشد آورده شده است.
به جای do while کلمه while و به جای عبارت loop کلمه wend قرارداده شده است.
با این وجود while… wend دقیقا همان کار do while … loop را انجام می دهد.
عبارتهای for… next حلقه for … next وقتی استفاده می شود که تعداد دفعات اجرای کد مشخص می باشد .
این حلقه یک بلوک کد را به تعداد دفعات معینی اجرا می کند.
شکل زیر یک حلقه for … next می باشد.
For counter-variable = start-value to stop-value step step-value Code block next متغیر counter-variable یک متغیر عددی می باشد که تعداد دفعات اجرای حلقه را نگاه می دارد.
Start-value اولین مقداری است که متغیر counter-variable می گیرد .
در اولین گذر در داخل حلقه مقدار counter-variablr برابر با مقدار start-value می باشد دفعه بعدی مقدار آن برابر با start-value + step-value می شود.
با توجه به اینکه step-value مقدار مثبتی است حلقه تا آنجایی اجرا می گردد که مقدار counter-variable بزرگتر از stop-value شود در هر بار اجرای حلقه مقدار متغیر counter-variable با step-value جمع می گردد.
شما می توانید برنامه شمارنده ساده أی را با حلقه for… next بنویسید.
For icount = 1 to 10 step 1 Response.write (icount) Loop عبارتهای for each … next ساختار for each … next برای تکرار کردن هر عنصر در یک گروه مورد استفاده قرار می گیرد فرض کنید که یک آرایه از نام کاربران دارید و می خواهید هر نام را بر روی صفحه نمایش چاپ کنید یکی از راه حل ها استفاده از for … next و یک شمارنده می باشد for icount = 0 to arraysize response.write (arrusernames (icount)) next برای یک راه حل دیگر می توان از for each … next استفاده نمود.
For each strnames in arrusernames Respons.write(strnames) next برای موضوعات کم اهمیتی فرق زیادی نمی کند شما از کدام ساختار استفاده نمایید.
وقتی شما می خواهید یکسری از اشیاء را انتخاب نمایید استفاده از ، از for each … next مفیدتر می باشد.
Infinite loops یا حلقه های نامتناهی اگر هیچ چیزی در بلوک کدهای شما موجود نباشد که سبب شود شرط در انتها نادرست گردد.
کد به صورت نامتناهی اجرا می گردد اینها را حلقه های نامتناهی می گویند و باعث می گردند که ملاقات کنندگان صفحه های شما خیلی ناراحت گردند.
یکی از چیزهایی که موجب ایجاد حلقه نامحدود می گردد این است که ما مقادیر اشتباهی را به کار برده باشیم برای مثال : Do while icount > 0 Response.write (ifactor*icount) Ifactor = ifactor – 1 Loop استفاده از سابروتین ها سابروتی ها ( همچنین procedures نیز نامیده می شوند ) عملیاتی را انجام می دهند.
یک نمونه ساده از سابروتین در زیر بیان شده است : Sub name Code block End sub برای ساختن یک ساب روتین به صورت نمونه به شکل زیر عمل می شود: Sub subHeading Response.write (“”) Response.write (“ Your name ”) Response.write (“ Your name ”) End sub ارسال آرگومان یک آرگومان یک روش برای ارسال داده و متغیرها به سابروتین یا تابع بدون مقدار یا Violating Separateness می باشد.
مقادیر برای آرگومان ها وقتی که ساب روتین فراخوانی می شود تعیین می گردد.
سابروتین ها می توانند به داده ها دسترسی داشته باشند و به وسیله متغیرهای تعریف شده آنها را به کار ببرند.
استفاده از توابع توابع ، مقادیر را مورد پردازش قرار می دهند شاید در ابتدا تفاوت توابع با ساب روتین را متوجه نشوید.
سابروتین ها با هیچ مقداری مساوی نمی باشند.
تنها راهی که شما می توانید یک ساب روتین را فراخوانی کنید به کار بردن نام آن در یک خط می باشد.
در عوض ، توابع مقادیر را بر می گردانند.
به این معنی که فراخوانی تابع را می توانیم در داخل یک عبارت محاسباتی انجام دهیم تا چیزهایی را با یکدیگر جمع نماید و از این قبیل… ایجاد یک تابع بسیار شبیه ایجاد یک ساب روتین می باشد.
به جای sub عبارت Function را قرار داده و به جای end sub عبارت End function را جایگزین نمایید.
مهمتر از همه اینکه شما باید یک خط که می گوید چه مقداری باید از تابع برگشت داده شود را در داخل آن قرار دهید خط مزبور چیزی شبیه خط پایین می تواند باشد.
Function-name = some-value Typecasting varuables شما ممکن است بخواهید نوع داده ها را تغییر دهید.
اغلب ، وقتی داده وارد شده به فرم HTML ، به یک صفحه ASP فرستاده می شود ، آن داده به قالب مورد نظر در ASP نمی رسد.
یا ممکن است که شما در یک بخشی از زمان بخواهید که داده شما رفتار یک رشته را داشته باشد و در بخش دیگری از زمان همانند یک عدد رفتار نماید.
Typercasting راه حل این مشکلات می باشد.
Typercasting چیست و چرا ما عمل Typercasting را انجام می دهیم ؟
Typercasting به عمل تبدیل انواع داده ها گفته می شود .
چگونه عمل Typercasting را بر روی متغیرهایتان انجام می دهید ؟
تابع (expression) Cint یک عبارت را تبدیل به یک عدد Integer می نماید.
تابع (expression) Clng مقدار عبارت را تبدیل به یک عدد Long می کند.
تابع (expression)Cbyte مقدار expression را ب یک مقدار byte که بین 0 تا 255 می باشد تبدیل می نماید.
تابع(expression) cdbl مقدار expression را به یک عدد double تبدیل میکند.
تابع (expression) csng مقدار expression را به یک عدد single تبدیل می کند.
تابع (expression) cbool، مقدار expression را تبدیل به یک مقدار Boolen می نماید تابع (expression) مقدار expression را به یک مقدار Currency تبدیل می نماید.
تابع (expression) Cdate مقدار expression را به یک مقدار با فرمت تاریخ تبدیل می کند .
آبجکت Response Response برای فرستادن مقدار به خروجی ، مورد استفاده قرار می گیرد.
آبجکت Response همچنین می تواند کنترل کند که چطور و کی اطلاعات فرستاده شوند و کوکیها به عنوان اطلاعات ذخیره أی نوشته شوند.
آبجکت Request این آبجکت برای گرفتن اطلاعات از Client مورد استفاده قرار می گیرد.
واژه جدید : Query string data چیزهایی اضافه می باشند که به انتهای یک URL می چسبند.
چیزی شبیه "?firstname = John & lastname = smith" می باشند.
آبجکت Application آبجکت Application به منظور اشتراک اطلاعات بین چندین سرویس گیرنده که یک از یک صفحه بازدید می نمایند مورد استفاده قرار گیرد.
آبجکت Session یک session ، به دسترسی یک سرویس گیرنده به یک application اشاره دارد.
آبجکت Server آبجکت server چندین خصوصیت پایه و متد را فراهم می کند.
احتمالاً مهمترین آنها متدcreateobject می باشد.
متد createobjec برای ایجاد یک نمونه از اجزاء Server به کار می رود.
کامپوننتها ، بسته های وابسته آبجکت ها می باشند که شما می توانید.
در صفحه هایتان از آنها استفاده نمایید.
خصوصیت Script Timeout می تواند برای تعیین طول زمانی که اسکریپت قبل از ایجاد یک خطا، اجازه اجرا شدن را دارد ، مورد استفاده قرار گیرد.
HTML Encode و URL Encode دو متدی می باشند که عمل کد را به یک رشته انجام می دهند.
آبجکت Objectcontext آبجکت objectcontext به منظور اتصال ASP و Microsoft transaction مورد استفاده قرار می گیرد به دست آوردن مقادیر check Box همه check Box هایی که به یکدیگر وابسته می باشند ، باید خصوصیات NAME یکسانی را داشته باشند.
تعداد عناصر موجود در acheckboxarray بستگی به تعداد آیتم های موجود در لیست جدا شده با کاما در str check Box string دارند.
اگر هیچ check Box ی علامت نخورده باشد ، str checkBox string یک رشته خالی خواهد بود ، یعنی شامل هیچ آیتمی نیست.
در این مورد ، تابع Split ، یک آرایه با صفر عنصر را بر می گرداند .
استفاده از کوکی ها (cookies) واژه جدید : یک نرم افزار کاربردی زمانی State(پایدار) گفته می شود که آن نرم افزار برای هر کاربر ، اطلاعاتی را باقی بگذارد ، در یک سایت وب ، این مورد وجود ندارد.
برای مثال ، اگر شما یک فرم بر روی صفحه وب را پر کنید و سپس چند وقت دیگر آن فرم را دوباره بازدید کنید ، فیلدهای فرم شامل اطلاعاتی که قبلاً وارد کرده اید را نخواهد داشت.
به بیان دقیقتر ، فیلدهای فرم خالی خواهند بود .
زیرا سایت های وب فاقد state می باشند و به آنها stateless می گویند.
اولاً ، اطلاعات ذخیره شده در آبجکت session در حافظه سرویس دهنده وب برای مدتی که هر کاربر از سایت بازدید می کند.
ذخیره می شود.
اگر صدها یا هزاران کاربر دارید ک به طور همزمان از سایت وب بازدید می کنند ، استفاده از آبجکت می باشد State باقی می ماند.
کوکی ها چیستند ؟
کوکی ها ، بیتهای اطلاعاتی کوچکی می باشند که مانند رشته ها و مقادیر عددی بر روی کامپیوتر سرویس گیرنده برای مدت زمان معینی ذخیره می شوند.
وقتی کوکی ها بر روی کامپیوتر سرویس گیرنده ساخته می شوند سازنده آنها زمان خاتمه یافتن آنها را معین نمایند بعد از اینکه یک کوکی به پایان کار خود می رسد به صورت خودکار خودش را از کامپیوتر سرویس گیرنده پاک می کند.
یک روش که این بخش کوچک از اطلاعات می تواند بر روی کامپیوتر سرویس گیرنده ذخیره شود استفاده از سه کوکی مجزا می باشد.
شما می توانید این کوکی ها را userAgentstring ,Name, Last Visit بنامید .
راه دیگر استفاده از keys می باشد.
استفاده از کوکی ها در درس دیروز در مورد اینکه چگونه کوکی ها می توانند برای نگهداری اطلاعات به مدت طولانی مورد استفاده قرار گیرند بحث کردیم .
کوکی ها فایل های متنی کوچکی هستند که بر روی کامپیوتر کلاینت نوشته می شوند.
همانطوری که دیروز آموختید کوکی ها را می توان با استفاده از مجموعه Response.cookies بر روی کامپیوتر کلاینت نوشت و با استفاده از مجموعه Request.cookies خواند.
استفاده از آبجکت session Active server pages یک آبجکت پیش ساخته برای کمک به توسعه دهندگان برای پایدار نگهداشتن اساس کاربر به کاربر بکار می رود.
این آبجکت session نام دارد و می تواند هر صفحه ASP بر روی سایت وب شما مورد دسترس قرار گیرد.
آبجکب session کی تواند هر نوع از داده ها از اعداد و رشته ها تا آرایه ها و آبجکت ها را در خود ذخیره نماید.
آبجکت session برای پایدار نگهداشتن شبکه برای مدت زمانی که کاربر از سایت وب شما بازدید می کند مورد استفاده قرار می گیرد .
وقتی که هر کاربر جدید به سایت شما وارد می شود حافظه سرویس دهنده وب برای ذخیره آبجکت session آن کاربر تخصیص داده می شود.
این حافظه زمانی آزاد می شود که کاربر برای مدت طولانی از سایت وب شما بازدید نکند این مدت زمان به طور پیش فرض 10 دقیقه می باشد اما می توانید آن را کوتاهتر نمایید.
استفاده از آبجکت Application آبجکت application آبجکت دیگری است که به پایدار ماندن کمک می کند.
شما ممکن است از خود بپرسید که چه تفاوتی بین آبجکت session و Application وجود دارد در صورتی که هر دوی آنها برای پایدار نگهداشتن سایت وب شما طراحی شده اند.
در حالی که آبجکت session می تواند هر متغیری ار هر نوعی را ذخیره کند .
متغیرهای Application گاهی اوقات متغیرهای سراسری نیز نامیده می شوند زیرا هر کاربری می تواند از هر صفحه ASP به هر متغیر Application دسترسی پیدا نماید.
مهم است که به خاطر داشته باشید که تنها یک نمونه از آبجکت Application برای سایت وب شما وجود دارد.
اگر اطلاعاتی کلی دارید که می خواهید در کل سایت وی ذخیره شود متغیرهای Application راه خوبی برای این کار می باشند.
مخصوصاً اگر اطلاعات تغییر داده شود ما در مورد اینکه متغیرهای Application کی و چطور مورد استفاده قرار می گیرند در قسمت « آبجکت Application » بیشتر بحث خواهیم کرد.
آبچکت session آبچکت session یک آبجکت داخلی ASP می باشد که برای پایدار نگهداشتن شبکه بر مبنای user-by-user طراحی شده است .
به هر کاربر آبچکت session مخصوص به خودش داده می شود.
Session ID در دو مکان ذخیره می شود سرویس دهنده وب و سرویس گیرنده .
هر session که به وسیله سرویس دهنده وب مدیریت می گردد شامل session ID مربود به خود می باشد.
این session ID همچنین بر روی کامپیوتر کلاینت به صورت یک کوکی ذخیره می گردد.
از آنجایی که session ID هم بر روی کلاینت و هم بر روی سرور ذخیره می گردد سرویس دهنده وب می تواند تعیین کند که چه session هایی متعلق به چه کلاینت هایی می باشند.
اگر شما قصد دارید که session کاربر را صراحتاً از بین ببرید ، قبل از اینکه session timeout اجرا شود از متد Abandon استفاده کنید .
دکمه logout وقتی کلیک می شود باید پیغام logout را نمایش دهد و متد Abandon از آبجکت session را فراخوانی کند.
استفاده از متغیرهای session همان طوری که در بخش قبلی بحث کردیم یک نمونه از آبجکت session به عنوان یک انبار برای ذخیره اطلاعات کاربر به خصوص مورد استفاده قرار می گیرد.
استفاده انبار چیست ، اگر شما چیزی را در داخل آن قرار ندهید ؟
اگر شما تکه أی از اطلاعات کاربر بخصوصی را دارید که قصد نگهداری آن را دارید نیاز به ذخیره این اطلاعات در یک متغیر و قراردادن آن متغیر در داخل session کاربر دارید به چنین متغیرهایی session variable اطلاق می گردد.
برای نوشتن یک مقدار در داخل session از دستور زیر استفاده کنید.
Session (session Variable Name)= value این عبارت اساساً یک متغیر را در داخل انباز شخصی کاربر ذخیره می کند .
یک متغیر session را می توان به صورت زیر خواند : value = Session (session Variable Name) تصور کنید که شما یک سایت ایجاد کرده اید و در بالای هر صفحه وب قصد دارید که یک نقل قول را ذکر نمایید زیباتر این است که به کاربر یک گزینه أی را بدهد که بتواند نقل قول را مخفی نماید.
استفاده از آبجکت Err در ASP 2.0 کنترل خطا به وسیله VBScript در دسترس قرار می گرفت .
دستور زبان مشابه با کنترل خطای استفاده شده در برنامه Visual Basic بود.
در هر صفحه أی که می خواستید توانایی کنترل خطا را داشته باشد مجبور بودید خط On error Resume next را وارد کنید که این خط به موتور VBScript می گوید که اگر با یک خطا مواجه شد به خط بعدی پرش نماید پس هرگاه در جاهای گوناگون نیاز به تست کردن را داشتید تا ببینید که آیا خطا اتفاق افتاده است یا نه این کار به وسیله آبجکت Err انجام می شد.
استفاده از آبجکت ASPError هنگامی که توسعه دهندگان شرکت مایکروسافت در حال کارکردن به روی ASP 3.0 بودند آنها کاری را با آبجکت جدید ASPError انجام دادند این آبجکت پیش ساخته جدید در ASP 3.0 کنترل خطا را شبیه به آبجکت Err انجام می دهد آبجکت ASPError ، معایب آبجکت Err را بر طرف نموده است.
از آنجایی که آبجکت ASPError یک آبجکت داخلی ASP می باشد اهمیتی ندارد که از چه زبان اسکریپت Server-Side استفاده می کنید.
این کار روش اولین عیب آبجکت Err را حل می کند اما در مورد دومی چه کار می کند ؟
چگونه از آبجکت ASPError می توان استفاده کرد تا نیازی به وارد کردن کد کنترل خطا در تمامی صفحات ASPنداشته باشید ؟
راز کار در خود آبجکت ASPError به تنهایی نمی باشد اما به همراه IIS 5.0 می تواند این کار را انجام دهد هر زمانی که یک خطا در صفحات ASP اتفاق می افتد خطای 500;100 HTTP اتفاق می افتد.