• مشکی
  • سفید
  • سبز
  • آبی
  • قرمز
  • نارنجی
  • بنفش
  • طلایی
انجمن ها > انجمن کامپیوتر > صفحه اول بحث
لطفا در سایت شناسائی شوید!
کامپیوتر (بازدید: 6517)
چهارشنبه 12/3/1389 - 11:29 -0 تشکر 203512
آموزش ASP

در این تاپیك قصد داریم دوستان و كاربران را ASP آشنا كنیم در این جا از مقدماتى شروع مى شود تا پیشرفته.

 با ما همراه باشید و پس از پایان سوالات خود را مطرح كنید. 

چهارشنبه 12/3/1389 - 12:16 - 0 تشکر 203532

درس ششم: کوکی ها در ASP

آشنایی با کوکی ها و نحوه بکارگیری آنها

Cookie یا کوکی همانند برچسبی است كه در زمان مسافرت با هواپیما بر روی بار مسافر قرار می گیرد. این برچسب یك شماره سریال بوده كه یك نسخه از آن نیز در اختیار مسافر قرار گرفته تا پس از رسیدن به مقصد با اتكاء به آن امكان برداشتن بار خود را داشته باشد. در حقیقت برچسب فوق مولفه ای است كه بصورت منحصر بفرد بار یك مسافر را مشخص می كند.

هنگامیكه به یك وب سایت مراجعه می کنیم، ممکن است که یك برچسب خاص در یك آدرس معین و مشخص بر روی هارد دیسک كامپیوتر كاربر قرار گیرد. در مراحل و زمانهای بعدی كه مجددا به سایت مورد نظر مراجعه می کنیم، سرویس دهنده وب سایت مزبور از اطلاعات ذخیره شده با این برچسب استفاده و متناسب با مقادیر ذخیره شده در آن از خود واكنش نشان می دهد. هر وب سایت دارای یك برچسب اختصاصی مربوط به خود بوده كه امكان استفاده از مقادیر مندرج در آن و حتی بهنگام سازی توسط سرویس دهنده وب را میسر خواهد کرد. مثلا می توان بر روی برچسب فوق رنگ مورد علاقه كاربر اینترنت در رابطه با یك سایت را ثبت نمود. بدین ترتیب در صورتیكه كاربر فوق مجددا به سایت مورد نظر مراجعه کند، ( برچسب مربوط به آن در مراحل قبل ایجاد و بر روی كامپیوتر سرویس گیرنده قرار گرفته است ) تمامی صفحاتی كه برای وی به نمایش درخواهد آمد با استناد به رنگ مورد نظر كاربر می باشد.

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

از یك کوکی برای مشخص نمودن یك كاربر نیز استفاده می شود. یك کوکی در اصل یك فایل كوچك بوده كه سرویس دهنده آن را با مرورگر یك كاربر تلفیق می نماید. هر زمان كه مرورگر درخواست یك صفحه را داشته باشد کوکی مربوطه نیز ارسال خواهد شد. با استفاده از اسكریپت های ASP می توان هم به مقادیر ذخیره شده در یك کوکی دستیابی داشت و هم مقادیر آن را تغییر داد.

تنظیم کوکی
برای مقدار دهی مورد نظر یك کوکی می توان از دستور Response.Cookies استفاده كرد. در صورتیكه کوکی وجود نداشته باشد، آن را ایجاد و مقدار مورد نظر را به آن نسبت خواهد داد. در مثال زیر یك کوکی بنام userid و مقدار 100618 برای مرورگر ارسال می گردد. این کوکی تا زمانیكه كاربر به سایت مورد نظر وصل است وجود خواهد داشت. این دستور می بایست قبل از تگ قرار گیرد.

<%Response.Cookies("userid")=100618%>

در صورتیكه بخواهیم كاربری را كه مرورگر خود را متوقف كرده و مجددا آن را اجرا نموده باز هم شناسائی نمائیم، می بایست از صفت Expires بهمراه دستور Response.Cookies استفاده نموده و تاریخ اعتبار آن را مشخص سازیم.

<%
Response.Cookies("userid")=100618 
Response.Cookies("userid").Expires="May 15, 2005"
%>

دستیابی به مقادیر کوکی
برای دستیابی به مقدار یك کوکی می بایست از دستور Request.Cookies استفاده نمائیم. در مثال زیر می خواهیم مقدار ذخیره شده در userid را بخوانیم ( بازیابی 100618 )

<%Response.Write(Request.Cookies("userid"))%>

تنظیم مسیرهای کوکی
هر کوکی كه در مرورگر ذخیره می گردد دارای اطلاعاتی در رابطه با مسیر است. زمانیكه مرورگر درخواست فایلی را داشته باشد كه مسیر آن دقیقا در کوکی مشخص شده باشد مرورگر کوکی را برای سرویس دهنده ارسال خواهد كرد.

برای مشخص نمودن یك مسیر برای یك کوکی می توان با استفاده از صفت Path در كنار دستور Response.Cookies به این هدف نائل شد. در مثال زیر مسیر Sales\Customer\Profiles به یك کوکی با نام Zip نسبت داده می شود.

<%
Response.Cookies("Zip")="12"
Response.Cookies("Zip").Expires="January 21, 2004"
Response.Cookies("Zip").Path="/Sales/Customer/Profiles/"
%>

تمامی مرورگرها امكان استفاده از کوکی را ندارند. در چنین حالتی و در صورتیكه یك برنامه نیازمند ارتباط با مرورگر باشد می توان اژ روش های دیگری جهت ارسال اطلاعات از یك صفحه به صفحه دیگر در یك برنامه استفاده نمود.

در این مثال با نحوه ایجاد یك کوکی welcome آشنا می شوید.

<%
response.cookies("NumVisits").Expires = date + 365
num=request.cookies("NumVisits")
If num = "" Then
response.cookies("NumVisits") = 1
Else
response.cookies("NumVisits") = num + 1
End If
%>


<%if num="" then%>
Welcome! This is the first time you are visiting this Web page.
<%else%>
You have visited this Web page <%response.write(num)%> times before
<%end if%>

چهارشنبه 12/3/1389 - 12:28 - 0 تشکر 203533

درس هفتم: آشنائی با شئ Session

کاربرد شئ Session و نحوه تعریف و بکارگیری متغیر در آن

از شئ Session برای ذخیره و تغییر تنظیمات مربوط به یك جلسه كاری كاربر استفاده می شود. متغیرهای ذخیره شده در شئ فوق صرفا اطلاعات مربوط به یك كاربر را ذخیره كرده و در تمامی صفحات مربوطه به یك برنامه قابل دستیابی هستند.

زمانیكه با یك برنامه كار می كنید، آن را فعال كرده ( Open ) و پس از بهره برداری از پتانسیل های آن در صورت لزوم تغییرات لازم را انجام و در نهایت برنامه را غیرفعال ( Close ) می كنید. فرآیند فوق یك جلسه كاری با نرم افزار مورد نظر را نشان می دهد. در چنین حالتی كامپیوتر، شما را كاملا می شناسد، او می داند كه شما چه زمانی برنامه را شروع و در چه زمانی به اجرای آن خاتمه داده اید.

در رابطه با برنامه هائی كه بر روی اینترنت اجراء می شوند، به یك مشكل خاص برخورد خواهیم كرد: سرویس دهنده وب نه شما را می شناسد و نه می داند كه چه كارهائی كرده اید، علت این امر در نحوه رفتار پروتكلی است كه بعنوان استاندارد دریافت و ارسال بین سرویس گیرنده وب ( مرورگرها ) و سرویس دهنده وب ایفای وظیفه می كند ( پروتكل HTTP ). پروتكل فوق Stateless است یعنی وضعیت قبلی را نگهداری نمی كند (دارای بیماری فراموشی است!).

ASP، با امكان ایجاد یك کوکی (Cookie) منحصربفرد برای هر كاربر توانسته است راهكاری شایسته برای این مشكل ارائه نماید. کوکی فوق برای هر سرویس گیرنده ارسال می گردد و شامل اطلاعاتی است كه هویت اینترنتی كاربر را شناسائی و معرفی می نماید. واسط فوق شئ Session نامیده می شود.

در شئ فوق اطلاعات رایجی نظیر name، id، و ذخیره می گردد. سرویس دهنده برای هر كاربر جدید یك شئ Session ایجاد کرده و پس از اتمام تاریخ مصرف تعیین شده برای آن، از بین خواهد رفت . قطعا در ذهن خواننده این سوال پیش آمده كه این شئ چه زمانی آغاز و تحت چه شرایطی ایجاد میگردد؟

شئ فوق تحت شرایط زیر آغاز می گردد:
• كاربر جدیدی درخواست یك فایل ASP را داشته باشد و فایل Global.asa شامل یك روتین Session_OnStart باشد.
• كاربری مقداری را در متغیر Session ذخیره كرده باشد.
• كاربری درخواست یك فایل ASP را داشته باشد و فایل Global.asa از تگ استفاده كرده باشد.

چه زمانی یك Session خاتمه می باید؟ در صورتیكه یك كاربر برای مدت زمان مشخصی در خواست یك صفحه را نداشته و یا آن را بازخوانی مجدد ( refresh) ننماید، Session خاتمه می یابد. مدت زمان پیش فرض برای درخواست و یا بازخونی مجدد یك صفحه بیست دقیقه است . با استفاده از صفت Timeout می توان مقدار تعیین شده فوق را كاهش و یا افزایش داد. مثال زیر نحوه تغییر این مقدار را به ده دقیقه نشان میدهد.

Session.Timeout = 5

بمنظور خاتمه دادن به یك Session می توان از متد Abandon بصورت زیر استفاده كرد.

Session.Abandon

مهمترین مسئله در رابطه با Session ، زمانی مطرح می گردد كه آنها می بایست متوقف گردند. ما هیچگونه اطلاعی از این موضوع نداریم كه آیا آخرین درخواست كاربر بصورت نهائی قطعی شده است یا خیر؟ ما بر روی سرویس دهنده نمی دانیم كه تا چه زمانی می بایست Session را بصورت فعال نگهداری نمائیم. در صورتیكه این زمان به درازا بكشد، منابع موجود بر روی سرویس دهنده معطل شده و استفاده بهینه از آنان جای تردید خواهد داشت و در صورتیكه بسرعت Session را از روی سرویس دهنده حذف نمائیم، این نگرانی وجود خواهد داشت كه كاربر پس از مدت زمان كوتاهی مجددا به سرویس دهنده متصل و عملا ما بر روی سرویس دهنده اطلاعات وی را نخواهیم داشت. در چنین حالتی كاربر مجبور خواهد بود كه همه چیز را از نو آغاز نمائد. بهرحال پیداكردن و تنظیم مقدار مناسب برای Timeout یك مسئله مهم و در عین حال مشكل است .

ذخیره و بازیابی مقادیر متغیر در شئ Session
یكی از موارد مهم و حیاتی در رابطه با شئ Session، توانائی ذخیره سازی متغیرهائی در آن است. در مثال زیر با استفاده از دو متغیر مربوط به شئ Session، یعنی username وage دو مقدار در شئ Session ذخیره شده است

<%
Session("username") = "Sakha"
Session("age") = 8
%>

پس از ذخیره نمودن مقادیر فوق، امكان دستیابی به این مقادیر برای تمامی صفحات در یك برنامه ASP فراهم می گردد. جهت انجام این كار از امكان Session(username) استفاده می گردد. در مثال زیر عبارت Welcome Sakha در اختیار ملاقات كننده صفحه جدید قرار خواهد گرفت.

Welcome <%Response.Write(Session("username"))%>

حذف مقادیر ذخیره شده
مجموعه contents شامل تمامی متغیرهائی خواهد بود كه آنها را ایجاد و در شئ Session ذخیره كرده ایم. با استفاده از متد Remove می توان یك متغیر را از شئ Session حذف نمود. در مثال زیر یك متغیر Session با نام Reza حذف می گردد.

Session.Contents.Remove("Reza")

با استفاده از متد RemoveAll می توان تمامی متغیرهای ذخیره شده در یك Session را حذف نمود.

Session.Contents.RemoveAll

با استفاده از یك حلقه تكرار می توان تمامی مقادیر ذخیره شده در مجموعه contents را مشاهده و یا عملیات مورد نظر خود را بر روی آنها انجام داد.

<%
Dim i
For Each i in Session.Contents
Response.Write(Session.Contents(i) & "
")
Next
%>

در صورتیكه نسبت به تعداد آیتم های ذخیره شده در مجموعه Contents شناخت لازم را نداشته باشیم، می توان بكمك ویژگی Count این مشكل را حل كرد.

<%
Dim i, j
j = Session.Contents.Count
Response.Write("Session variables:" & j& "
")
For i=1 to j Response.Write(Session.Contents(i) & "
")
Next
%>

چهارشنبه 12/3/1389 - 12:30 - 0 تشکر 203534

درس هشتم: آشنائی با شئ Application

کاربرد شئ Application و نحوه تعریف و بکارگیری متغیر در آن

مجموعه ای از فایل های ASP كه بمنظور نیل به یك هدف خاص در كنار هم قرار می گیرند، یك برنامه ( Application ) را بوجود می آورند. شئ Application بمنظور تاثیرگذاری در نحوه ارتباط فایل های تشكیل دهنده یك برنامه استفاده می گردد. از شئ فوق بمنظور ذخیره سازی متغیرها و دستیابی به آنها از طریق هر یك از صفحات ASP موجود در یك برنامه استفاده می گردد ( مانند شئ Session ) . تفاوت این شئ با شئ Session در این است كه تمامی كاربران از یك شئ Application بصورت مشترك استفاده می كنند در صورتیكه شئ Session به ازای هر كاربر ایجاد و مقادیر مورد نظر در رابطه با آن كاربر بخصوص را در خود نگهداری می كند.

شئ Application می بایست اطلاعاتی را در خود نگهداری نماید كه در بالاترین سطح دسترسی در یک برنامه تحت وب قرار دارند. بعبارت دیگر شئ Application دربردارنده متغیرهای عمومی است که همه جلسات کاری کاربران از ابتدای اجرا تا پایان یک برنامه تحت وب، با آن متغیرها سروکار دارند ( نظیر دستیابی مشترك به مسیر یا کلمه عبور یك بانك اطلاعاتی). این بدین معنی است كه ما می توانیم به اطلاعات ذخیره شده در شئ فوق از طریق هر یك از صفحات، دسترسی داشته باشیم. به عبارت دیگر می توان اطلاعات را از یك محل تغییر و اثر آن را از طریق صفحات دیگر مشاهده و استفاده نمود.

ذخیره و بازیابی مقادیر متغیر
شئ Application می بایست در فایل Global.asa ایجاد گردد. پس از ایجاد شئ فوق امكان دستیابی و تغییر در اطلاعات آن برای هر یك از صفحات موجود در یك برنامه فراهم می گردد. مثال زیر نحوه ایجاد شئ فوق را در فایل Global.asa نشان میدهد:

در مثال فوق، دو متغیر Application ایجاد شده است. اولین متغیر با نام DBDriver و دومین متغیر با نام ActiveUsers است. جهت دستیابی به مقادیر این دو متغیر از روش زیر می توان استفاده كرد.

There are <%Response.Write(Application("ActiveUsers"))%> active connections.

بكمك یك حلقه تكرار و دستیابی به مجموعه Contents ، می توان مقادیر شئ فوق را مشاهده نمود.

<%
Dim i
For Each i in Application.Contents
Response.Write(Application.Contents(i) & "
")
Next
%>

در صورتیكه شناخت لازم در رابطه با تعداد آیتم های ذخیره شده در شئ فوق را نداشته باشیم، می توان از ویژگی Count استفاده نمود.

<%
Dim i
Dim j
j=Application.Contents.Count
For i=1 to j
Response.Write(Application.Contents(i) & "
")
Next
%>

قفل نمودن یك برنامه
با استفاده از متد Lock ، می توان یك برنامه را قفل نمود. زمانیكه یك برنامه قفل می گردد، كاربران قادر به تغییر متغیرهای شئ Application نخواهند بود. در چنین حالتی تنها یك ارتباط فعال با شئ فوق وجود خواهد داشت. جهت بازنمودن قفل می توان از متد Unlock استفاده كرد.

<%
Application.Lock
"do some application object operations
Application.Unlock
%>

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

چهارشنبه 12/3/1389 - 12:32 - 0 تشکر 203535

درس نهم: مفهوم کاربردی برنامه در ASP کلاسیک

آشنائی با شئ های Application و Session و کاربرد آنها

در این مقاله سعی خواهد شد که مفهوم یک برنامه ASP و موارد مربوطه شرح داده شود. در انتها نیز یک مثال کاربردی از این مفاهیم که مشخص نمودن تعداد کاربران فعال در یک وب سایت می باشد، را خواهیم دید. در آغاز می بایست یک برنامه ASP یا یک Application را تعریف نموده و با مفهوم یک جلسه کاربر یا Session آشنا شویم.

تعریف یک برنامه ASP
یک برنامه ASP یا یک Application عبارت است از مجموعه ای از فایل های ASP (احتمالا بهمراه دیگر فایل های مورد نیاز) که در یک شاخه یا یک دایرکتوری قرار دارند و منظور خاصی را برآورده می کنند. این فایل ها ممکن است در زیرشاخه های مختلفی تحت شاخه اصلی دسته بندی شده باشند. یک برنامه ASP معمولا یک سایت وب یا بخشی از یک سایت وب را تشکیل می دهد. به عبارت دیگر یک سایت وب خود می تواند یک Application باشد که حاوی Application های دیگری هم هست. شروع اجرای یک Application معادل اولین فراخوانی یک فایل ASP از شاخه مربوطه است و توقف اجرای یک Application معادل متوقف نمودن وب سرور (در اینجا IIS) می باشد. بعبارت دیگر یک برنامه ASP یکبار اجرا می شود و یکبار هم خاتمه می یابد و در این بین ممکن است کاربران متعددی از این برنامه استفاده کنند و اینگونه نیست که به ازای مراجعه هر کاربر به وب سایت یا برنامه، این برنامه اجرا شده و با خروج کاربر از آن، اجرای آن متوقف شود. درعوض به ازای مراجعه هر کاربر به وب سایت یا برنامه مورد نظر، یک Session جلسه کاری برای هر کاربر تشکیل می شود و با خروج کاربر از برنامه، Session مربوطه از بین می رود.

فایل Global.asa
هر بار كه یك Application و یا Session آغاز و یا خاتمه می یابد، یك برنامه ASP با یك رویداد مواجه می گردد. بمنظور سازماندهی و هدایت نحوه برخورد با رویدادهای فوق از یك فایل خاص با نام Global.asa استفاده می شود. محل استقرار فایل فوق درشاخه اصلی وب سایت یا برنامه ASP خواهد بود. مثلا در رابطه با یك وب سایت پیش فرض كه در زمان نصب IIS ایجاد می گردد، مسیر مربوطه \Inetpub\wwwRoot خواهد بود. از طریق فایل فوق می توان گفت در زمانیكه یك Application اجرا و یا متوقف می گردد چه نوع عملیاتی می بایست انجام گیرد. وضعیت فوق در رابطه با شئ Session نیز صدق می کند. در ادامه با توجه به حضور فعال دو شئ Application و Seesion در فایل فوق به بررسی مختصر آنها بهمراه صفات، متد و رویدادهای آنها كه در رابطه با موضوع این مقاله است، خواهیم پرداخت.

شئ Application
شئ فوق زمانیكه یک برنامه ASP اجرا می گردد، ایجاد می شود. شئ فوق مسئولیت ذخیره سازی متغیرها و مقادیری را برعهده خواهد گرفت كه برای تمامی صفحات موجود در یك برنامه ASP قابل استفاده و دستیابی خواهند بود (Application Level). نقش شئ فوق نظیر تعریف متغیرهای سراسری ( Global ) در یك برنامه كامپیوتری است كه برای تمامی توابع و روتین های موجود در آن برنامه قابل دستیابی خواهند بود. متدهای Lock و UnLock دو متد مهم از شئ Application بوده كه در برنامه ای كه در ادامه مشاهده خواهید كرد از آنها استفاده شده است.

• متد Lock: متد فوق مسئول قفل نمودن شئ Application بوده تا این اطمینان حاصل گردد كه صرفا یك صفحه در حال دستیابی به شئ فوق و تغییر متغییرهای مربوطه است. به كمك متد فوق این تضمین بوجود خواهد آمد كه دو كاربر بصورت همزمان قادر به تغییر مقادیر مربوطه نخواهند بود.
• متد UnLock: شئ Application را كه قبلا برای ممانعت از تغییر همزمان توسط دو كاربر ( صفحه ) قفل شده بود به حالت معمولی برگردانده و آماده استفاده توسط كاربر دیگر خواهد بود.

شئ Application دارای دو رویداد مهم OnStart و OnEnd است:
• رویداد OnStart: رویداد فوق زمانیكه برنامه ASP فعالیت خود را آغاز می نماید، رخ می دهد. این رویداد قبل از هر نوع پاسخ به درخواست كاربران و قبل از اینكه شئ Session مربوط به یك كاربر ایجاد گردد، فعال خواهد می شود. معمولا از رویداد فوق برای مقداردهی اولیه متغیرها، ایجاد اشیاء دیگر و یا اجرای كدهای دیگر استفاده خواهد شد.
• رویداد OnEnd: این رویداد پس از خاتمه فعالیت یك برنامه ASP ، رخ می دهد. رویداد فوق بعد از اینكه كدهای مربوط به رویداد OnEnd وابسته به شئ Session اجراء شدند ، فعال خواهد شد. تمامی متغیرهای موجود در شئ Application بعد از فعال شدن رویداد فوق از بین خواهند رفت.
• ذخیره و بازیابی مقادیر در شئ Application: جهت ذخیره یك مقدار در یك متغیر شئ فوق میتوان یك متغیر را ایجاد و مقدار مربوطه را در آن قرار داد. گرامر مقداردهی به یك متغیر بصورت زیر است :

Application("Variabel_Name") = Variabel_Value

مثلا دستور زیر یك متغیر با نام OnLine_User را ایجاد و مقدار صفر را به آن نسبت خواهد داد:

Application("OnLine_User") = 0

بمنظور بازیابی مقادیر ذخیره شده در یك متغیر از گرامر زیر استفاده می شود:

Variabel_Value = Application("Variabel_Name")

مثلا دستور زیر باعث نمایش مقدار متغیر OnLine_User در خروجی خواهد شد.

<%= Application("OnLine_User") %>

شئ Session
شئ فوق برای هر كاربر بلافاصله پس از اولین درخواست برای یك صفحه ASP ایجاد می گردد. شئ فوق به ازای هر كاربرفعال شده و تا زمانیكه ارتباط كاربر قطع نشده و یا زمان مربوط به آن به سر نیامده ( TimeOut ) همچنان وجود خواهد داشت . این شئ مسئول نگهداری متغیرها و مقادیری خواهد بود كه به ازای یك جلسه كاری كاربر مورد توجه بوده و صرفا برای آن كاربر بخصوص قابل استفاده خواهند بود (User Level). متغیرهای مربوط به شئ فوق دارای عملكردی مشابه متغیرهای محلی ( Local ) در یك برنامه كامپیوتری می باشد. شئ فوق دارای مجموعه ای از صفات (Property)، رویداد (Event) و متد (Method) بوده كه در ادامه به توضیح برخی از آنها می پردازیم.

• صفت TimeOut: مقدار صفت فوق هم قابل خواندن و هم قابل نوشتن ( تغییر) است. نوع مقادیر مربوطه عدد صحیح می باشد. از طریق صفت فوق مدت زمان حیات یك Session بر حسب دقیقه مشخص می گردد. در صورتیكه در مدت زمان تنظیم شده كاربر صفحه خود را بازخوانی مجدد ( Refresh) ننموده و یا درخواست یك صفحه جدید را نداشته باشد، به حیات Session خاتمه داده می شود. مقدار پیش فرض این صفت بیست دقیقه است. در مواردیكه یك سایت دارای ترافیك بالا باشد، مقدار فوق می بایست كمتر از میزان فوق در نظر گرفته شود.
• رویداد OnStart: این رویداد زمانیكه جلسه كاری یك كاربر آغاز شد، فعال می گردد. رویداد فوق قبل از اینكه صفحه درخواستی كاربر ارسال گردد، اجراء خواهد شد. از رویداد OnStart بمنظور مقداردهی اولیه متغیرها، ایجاد اشیاء و یا اجرای كدهای دیگر استفاده می گردد.
• رویداد OnEnd: این رویداد زمانیكه جلسه كاری یك كاربر خاتمه می یابد، فعال می گردد. این رویداد می تواند بلافاصله پس از سپری شدن زمان تنظیم شده توسط صفت TimeOut ، فعال گردد. پس از خاتمه یك جلسه كاری تمامی متغیرهای موجود در شئ Session از بین خواهند رفت. در صورتیكه بخواهیم جلسه كاری یك كاربر را با صراحت و قاطعیت و قبل از بسرآمدن زمان TimeOut خاتمه دهیم، می توان از متد Abandon استفاده نمود.

نمایش تعداد كاربران فعال یك وب سایت
این برنامه دارای دو بخش است: بخش اول مجموعه دستوراتی است كه می بایست در فایل Global.asa قرار گرفته و بخش دوم مسئول نمایش تعداد كاربران فعال بر روی سایت است.

محتوای فایل Global.asa :

نمایش تعداد کاربران فعال در سایت:

You are one of the <%=Application("OnLine_User")> people currently browsing this site.

چهارشنبه 12/3/1389 - 12:34 - 0 تشکر 203536

درس دهم: تعداد مراجعه به یك صفحه وب

کار با فایل ها از طریق نحوه محاسبه تعداد دفعات مراجعه به یك صفحه وب

برای مشخص نمودن تعداد دفعات مراجعه به یك صفحه وب روش های متفاوتی وجود دارد كه شاید خوانندگان گرامی با برخی از آنها نیز آشنائی داشته باشند. هدف این مقاله معرفی یكی دیگر از روش های موجود بكمك تكنولوژی ASP است. در این مقاله سعی می شود مطالب بگونه ای بیان گردد كه از ابعاد متفاوت بتواند مفید واقع شده و مخاطبان خود را در رده های متفاوت اطلاعاتی ارضاء نماید. بنابراین لازم دیدم كه در ابتدا توضیحات مختصری در رابطه با اشیاء ( Objects ) و متدهائی ( Methods ) كه ما را جهت رسیدن به خواسته هایمان كمك می كند، داشته باشم.

اشیاء استفاده شده
در برنامه ای كه در ادامه مشاهده خواهید كرد از دو شئ عمده استفاده شده است: Scripting.FileSystemObject و TextStream. دو شئ فوق مربوط به خانواده بزرگ Scripting Runtime Library می باشند. شئ FileSystemObject امكان دستیابی به سیستم فایل موجود بر روی كامپیوتر را فراهم می سازد. در این راستا امكان انجام عملیات متفاوتی بر روی فایل های متنی، فولدرها، درایوها و فراهم می گردد. شئ فوق را می توان از طریق كدهای نوشته شده به زبان VBScript كه در یك فایل ASP قرار خواهند گرفت، استفاده نمود. شئ TextStream تسهیلاتی جهت پردازش ترتیبی بر روی یك فایل را فراهم می نماید. بدیهی است فایل های متنی در این راستا جایگاه ویژه خود را خواهند داشت. معمولا از برخی متدها نظیر CreateTextFile و یا OpenTextFile استفاده می شود تا پس از فعال شدن بعنوان خروجی یك شئ TextStream را برگردانند.

فكر می كنم كه مثال زیر در این مقطع ما را با نحوه عملكرد این دو شئ بهتر آشنا كرده و یك قدم موثر جهت رسیدن به هدف اصلی این مقاله ( نوشتن یك برنامه ASP برای مشخص نمودن تعداد دفعات مراجعه به یك صفحه ) را برداشته باشیم.

<% 
Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject)
Set MyFile= fso.CreateTextFile("c:\testfile.txt", True)
MyFile.WriteLine("This is a test)
MyFile.Close
%>

در مثال فوق تابع CreateObject پس از فعال شدن یك شئ از نوع FileSystemObject را ایجاد می كند. در ادامه متد CreateTextFile صدا زده شده و فایل (testfile.txt) را بعنوان یك شئ TextStream ایجاد می كند و در ادامه بكمك متد WriteLine مربوط به شئ TextStream یك خط (This is a test) در فایل ایجاد شده، نوشته خواهد شد.

متدهای استفاده شده
در برنامه ای كه در ادامه خواهد آمد از چندین متد استفاده شده است كه لازم است در این مرحله با عملكرد یكایك این متدها آشنا شویم.

- متد MapPath: در زمانیكه با فایل های ذخیره شده بر روی یك وب سایت كار می كنیم، اغلب علاقه مندیم كه قادر به دستیابی مسیر واقعی و فیزیكی فایل ها در مقابل مسیرهای منطقی باشیم. خوانندگان گرامی می دانند كه مسیرها بر روی یك وب سایت می توانند بصورت فیزیكی و یا منطقی باشند. مسیرهای منطقی به مسیرهائی اطلاق می شود كه بعنوان جزئی در ساختار سلسله مراتبی وب سایت كه مدیریت وب ( IIS یا PWS ) ایجاد می كند، بوجود می آیند (Inetpub\wwwRoot). مسیرهای فیزیكی دقیقا مشابه دادن مسیر مربوط به یك فایل بر روی هر نقطه از فضای ذخیره سازی خواهند بود. مثلا در صورتیكه متد فوق را بصورت زیر صدا بزنیم:

Server.Mappath("/iishelp/default.htm")

مقدار زیر برگردانده می شود:

"C:\winnt\help\iishelp\default.htm"

متد فوق یك رشته ( مشخص كننده نام فایل است ) را بعنوان ورودی گرفته و مسیر كامل آن را برمی گرداند.

- متد OpenTextFile: متد فوق با هدف باز نمودن یك فایل برای انجام عملیات نوشتن، خواندن و یا اضافه كردن به محتویات آن مورد استفاده قرار گرفته و پس از فعال شدن یك شئ از نوع TextStream را بر می گرداند. متد فوق دارای گرامری مشابه زیر است:

OpenTextFile(filename,ioMode,create,format)

متد فوق یك فایل با نام filename را ایجاد و یا یك فایل موجود با چنین نامی را باز خواهد كرد ویك شئ TextStream بر می گرداند. IoMode، هدف از باز نمودن فایل را مشخص می كند. در صورتیكه فایل برای خواندن باز شود forReading = 1 ( پیش فرض )، در صورتیكه برای نوشتن باز شود forWriting = 2 و اگر برای اضافه كردن باز شود forAppending = 8 خواهد بود. پارامتر create، در صورتیكه قصد نوشتن و یا افزودن اطلاعات به فایلی را داشته باشیم كه موجود نباشد مقدار TRUE را گرفته و در غیر اینصورت مقدار آن FALSE ( پیش فرض ) خواهد بود. ودر نهایت پارامتر format، قالب اطلاعاتی را كه می بایست از فایل خوانده شده و یا در فایل نوشته شود، مشخص می كند. در صورتیكه این پارامتر مقدار صفر را دارا باشد قالب یك فایل Ascii در نظر گرفته شده و اگر مقدار 1- را داشته باشد، قالب فایل بصورت Unicode در نظر گرفته شده و در نهایت اگر این پارامتر مقدار 2- را دارا باشد قالب آن بر اساس فرمت پیش فرض سیستم در نظر گرفته خواهد شد.

- متد CreateTextFile: متد فوق با هدف ایجاد یك فایل بر روی محیط ذخیره سازی مورد استفاده قرار گرفته و پس از فعال شدن یك شئ از نوع TextStream را برمی گرداند. متد فوق دارای گرامری مشابه زیر است:

CreateTextFile(filename , overwrite , unicode )

متد فوق فایلی با نام filename را ایجاد می كند. در صورتیكه فایلی با همین نام موجود باشد و مقدار پارامتر دوم یعنی overwrite نیز TRUE باشد فایل قبلی حذف و فایل جدید ایجاد می گردد. مقدار پیش فرض پارامتر فوق FALSE است. پارامتر سوم اختیاری است و قالب فایل جدید را مشخص خواهد كرد. اگر مقدار این پارامتر TRUE باشد یك فایل متن unicode ایجاد می گردد. مقدار پیش فرض پارامتر فوق FALSE است.

- متد های مربوط به شئ TextStream: در برنامه ای كه در ادامه خواهد آمد از دو متد ReadLine و WriteLine(String) استفاده شده است كه اولی یك سطر از فایل را خوانده و بصورت یك رشته برمی گرداند و دومی رشته داده شده بعنوان پارامتر را در فایل بهمراه یك كاراكتر newline اضافه می كند (نوشتن).

توابع استفاده شده
تابع Trim: در برنامه ای كه در ادامه مشاهده خواهید كرد از تابع فوق استفاده شده است. این تابع جزء توابع كتابخانه ای VSBcript بوده و تمامی فضاهای خالی (Spaces) موجود در سمت چپ و راست رشته را حذف و رشته جدید را برمی گرداند.

و اما برنامه Hins.ASP كه تعداد دفعات مراجعه به یك صفحه را مشخص می سازد.

<%
Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
HitsFile = Server.MapPath ("\") & "\hits.txt"
Set InStream= FileObject.OpenTextFile (HitsFile,1,false,0)
OldHits = Trim(InStream.ReadLine)
NewHits = OldHits + 1
Set OutStream= FileObject.CreateTextFile (HitsFile,True,False)
OutStream.WriteLine(NewHits)
%>
This page has been accessed <%=NewHits%> times.

در مثال فوق فایل hits.txt در ریشه وب سایت (Inetpub\wwwRoot) ایجاد شده و مقدار صفر در آن قرار گرفته است (حا لت اولیه).

چهارشنبه 12/3/1389 - 12:36 - 0 تشکر 203537

درس یازدهم: تشخیص مشخصات کاربر

تشخیص نوع مرورگر، سیستم عامل و IP كاربران اینترنت و سایر اطلاعات مرتبط

مرورگرها برنامه هائی هستند كه كاربران اینترنت با استفاده از آنان قادر به استفاده از وب سایت ها و منابع موجود در آنها می باشند. جایگاه این نوع از برنامه ها در یك نرم افزار تحت وب یا اینترنت بسیار حائز اهمیت بوده چراكه مسئولیت ایجاد محیط لازم جهت ارتباط با كاربران بر عهده آنها سپرده شده است.

مرورگرها درخواست كاربران را بر اساس پروتكل HTTP برای سرویس دهنده وب ارسال می دارند. پروتكل فوق زبان گفتمان مشترك بین مرورگران وب بعنوان متقاضیان و سرویس دهندگان وب بعنوان پاسخ دهندگان به درخواست ها است. مرورگرها دارای امكانات و پتانسیل های زیادی بوده و در فرآیند پیاده سازی یك برنامه تحت وب یا اینترنت نمی توان از كنار آنها بسادگی گذشت. با شناخت پتانسیل ها و نوع رفتار یك مرورگر طراحان نرم افزارهای اینترنت قادر به خلق آثار ارزشمند و پویائی خواهند بود كه قطعا در استمرار موفقیت یك نرم افزار از نقطه نظر جذب مخاطبان خود تاثیر گذار خواهد بود. بهرحال صفحات وب درخواستی كاربران اینترنت از طریق این نوع نرم افرارها به نمایش درخواهد آمد.

یكی از مشكلات موجود در رابطه با طراحی صفحات وب، استفاده از مرورگرهای گوناگون توسط كاربران اینترنت است. در این رابطه عمده رقابت بین دو مرورگر متعلق به شركت های ماكروسافت (IE یا Internet Exploere) و نت اسكیپ (Netscape) است. استانداردهای تعریف شده توسط هر یك از مرورگرهای فوق با یكدیگر متفاوت است. مثلا مرورگر شركت ماكروسافت از كنترل های اكتیوایكس (ActiveX) و زبان Vbscript بعنوان زبان پیش فرض بر روی مرورگرها جهت تزریق توان عملیاتی بر روی سرویس گیرندگان استفاده می كند در حالیكه مرورگر شركت نت اسكیپ از زبان جاوااسكریپت بعنوان پیش فرض در این زمینه استفاده و امكان استفاده از كنترل های اكتوایكس نیز صرفا از طریق نصب یك Plug-in امكان پذیر خواهد بود.

پروتكل ها و انشعابات لازم در خصوص بكارگیری HTML پویا (DHTML) و Cascading Style Sheet یا CSS در هر یك از مرورگرهای فوق شرایط خاص خود را دارد. بهرحال آگاهی از نوع مرورگر بخدمت گرفته شده توسط یك كاربر اینترنت و پارامترهای مهم آن در پیاده سازی یك سایت موفق و با توجه به طیف گسترده كاربران اینترنت بسیار حائز اهمیت خواهد بود. مثلا در صورتیكه یك صفحه وب را با استفاده از DHTML طراحی كرده باشیم و مرورگر ملاقات كننده سایت امكان استفاده از این ویژگی را نداشته باشد تكلیف چیست؟ در این زمینه شاید بهترین روش پس از تشخیص نوع مرورگر كاربر مورد نظر، ارجاع آن به صفحه ای دیگر است كه همان امكانات را در اختیار وی بدون استفاده از تگ های DHTML بدهد.

فراموش نكنیم كه تعداد و نوع مرورگرهائی كه امروزه توسط كاربران اینترنت استفاده می شود به دو نمونه گفته شده ختم نشده و مرورگرهای WebTV Browser،AOL custom Browser،Lynx ( یك مرورگر متنی تحت یونیكس ) و Opera نمونه های دیگری از دنیای وسیع مرورگرها می باشند.

مرورگرها در زمان درخواست یك صفحه از یك وب سایت، اطلاعاتی نیز راجع به خود بهمراه درخواست ارسال میدارند این اطلاعات با عنوان User-Agent String معرفی شده و شامل نوع و نسخه مرورگر و سیستم عامل مربوطه است. این اطلاعات در مجموعه ServerVariables و تحت نام متغیری با نام HTTP_USER_AGENT قرار خواهند گرفت. اطلاعات ذخیره شده در مجموعه ServerVariables بسیار وسیع بوده و در این مقاله به بررسی آندسته از اطلاعاتی كه به موضوع مقاله مرتبط است خواهیم پرداخت.

مثال ۱ - در این مثال با استفاده از مجموعه Server Variables وابسته به شی Request، نوع مرورگر، سیستم عامل و IP ملاقات كننده سایت تشخیص داده می شود. ( در مثال می توان برخی از مقایسه ها را در صورت ضرورت حذف نمود و برنامه را برای موارد خاص نوشت)

<%
ua = Request.ServerVariables("HTTP_USER_AGENT")
os = Request.ServerVariables("HTTP_UA_OS")
If Instr(ua, "MSIE") Then
If Instr(ua, "MSIE 5.") Then
Browser = "Microsoft Internet Explorer 5.x"
Elseif Instr(ua, "MSIE 4.") Then
Browser = "Microsoft Internet Explorer 4.x"
Elseif Instr(ua, "MSIE 3.") Then
Browser = "Microsoft Internet Explorer 3.x"
If Instr(ua, "MSIE 3.02") Then
Browser = "Microsoft Internet Explorer 3.02"
End If
Else
Browser = "Microsoft Internet Explorer"
End If
ElseIf Instr(ua, "Mozilla") and Instr(ua, "compatible") = 0 Then
If Instr(ua, "Mozilla/4") Then
Browser = "Netscape Navigator 4.x"
Elseif Instr(ua, "Mozilla/3") Then
Browser = "Netscape Navigator 3.x"
Else
Browser = "Netscape Navigator"
End If
End If
If Instr(ua, "Windows 95") or Instr(ua, "Win95") Then
System = "Windows 95"
Elseif Instr(ua, "Windows 98") or Instr(ua, "Win98") Then
System = "Windows 98"
Elseif Instr(ua, "Windows 3.1") or Instr(os, "Win16") Then
System = "Windows 3.x/Windows NT 3.x"
Elseif Instr(ua, "NT") or Instr(ua, "NT") Then
System = "Windows NT"
Elseif Instr(ua, "Mac") Then
System = "Mac"
If Instr(ua, "PowerPC") or Instr(ua, "PPC") Then
System = "Mac PPC"
Elseif Instr(ua, "68000") or Instr(ua, "68K") Then
System = "Mac 68K"
End If
Elseif Instr(ua, "X11") Then
System = "UNIX"
End If
%>
You are using <%=Browser%>

You are using : <%=System%> operating system

Your IP is: <%=Request.ServerVariables("Remote_Addr")%>

مثال ۲ - در این مثال با استفاده ازمجموعه Server Variables وابسته به شی Request، اطلاعاتی نظیر نام سرویس دهنده، زبان مرورگر، و سایر اطلاعات ذیربط نمایش داده می شود.

your Server name is <%=Request.ServerVariables("Server_Name")%>

your browser language is <%=Request.ServerVariables("HTTP_Accept_Language")%>

your server ip is <%=Request.ServerVariables("Remote_Host")%>

your local address is <%=Request.ServerVariables("Local_Addr")%>

your path info is <%=Request.ServerVariables("Path_Info")%>

your server port is <%=Request.ServerVariables("Server_Port")%>

your path translated is <%=Request.ServerVariables("Path_Translated")%>

مثال ۳ - در این مثال پس از نمایش محتویات رشته HTTP_USER_AGENT، امكان ارتقای مرورگر برای كاربران از طریق سایت ماكروسافت فراهم شده و در صورتیكه نسخه مرورگر IE بیشتر از چهار باشد، به آنها اعلام خواهد شد كه امكان استفاده از تگ های DHTML را دارا خواهند بود.

<%
UA = Request.ServerVariables("HTTP_USER_AGENT")
Response.Write " The User Agent String is " & UA & "

"
If Instr(UA, "MSIE") Then
Response.Write " To Upgrade your browser go to " & "http://www.microsoft.com/ie/

"
BrowserVersion = Cint(MID(UA, Instr(UA, "MSIE") + 5, 1))
If BrowserVersion >= 4 Then
Response.Write " You can use Microsoft Dynamic HTML "
End If
End If
%>

پس از تشخیص نسخه مرورگر می توان آنها را به صفحات دیگر Redirect نمود. در صورت افزودن دستورات زیر به برنامه فوق، در صورتیكه نسخه مرورگر چهار به بعد باشد، default.asp موجود در فهرست DHTMLSupport اجرا شده و در صورتیكه كاربر از مرورگری استفاده می كند كه نسخه آن از چهار كمتر می باشد و با توجه به اینكه این نسخه ها، امكان DHTML را دارا نمی باشند، برای این كاربر بخصوص default.asp را از فهرست NonDHTML فعال خواهیم كرد.

If BrowserVersion >= 4 Then
Response.Redirect "/DHTMLSupport/default.asp"
Else
Response.Redirect "/NonDHTML/default.asp"
End If

چهارشنبه 12/3/1389 - 12:43 - 0 تشکر 203539

خوب مقالات و بحث ها به پایان رسیده و ازكاربران كه این بحث را خوانده اند اگر سوالى دارند بفرمایند در غیر این صورت نظرى به بحث بنده بدهند.

با تشكر ویژه از مهندس محمد جواد سخائى و IranASP.NET

پنج شنبه 13/3/1389 - 11:15 - 0 تشکر 203777

مقدمه ای بر XML

دنیای XML چگونه است و چگونه باید شروع كنیم، درآینده XML یكی از محورهای دات نت است.

• XML برای شرح و بیان اطلاعات طراحی شده است.
• HTML برای نمایش اطلاعات و برای تمركز روی چگونگی دیده شدن اطلاعات طراحی شده است.

قبل از ادامه این بحث، شما باید مقداری درك پایه ای از موارد زیر داشته باشید:
• WWW,HTML و اساس ساخت صفحات وب
• زبانهای اسكریپت وب مانند JavaScript , VBScript

XMLچیست؟
• XML برگرفته شده از كلمات Extensible Markup Language است.
• XML یك Markup Language مانند HTML است.
• tag (برچسب) های XML از قبل تعریف شده نیستند، شما خودتان باید آنها را تعریف كنید.
• XML از یك (Document Type Definition) DTD برای شرح اطلاعات استفاده میكند.
• XML با یك DTD طراحی میشود تا خود-توصیف باشد.

تفاون اصلی بین XML و HTML
• XML برای حمل اطلاعات طراحی شده است.
• XML یك جایگزین برای HTML نیست.
• XML و HTML برای هدفهای مختلفی طراحی شده اند.
• HTML برای نمایش اطلاعات و XML برای شرح و حمل و نقل اطلاعات است.

XML كاری انجام نمیدهد!
شاید این موضوع برای درك كردن كمی مشكل باشد، اما XML كاری انجام نمیدهد. XML ساخته نشده تا كاری انجام دهد. XML به عنوان یك راه برای سازماندهی كردن، ذخیره كردن و فرستادن اطلاعات ساخته شده است. مثال زیر یك یادداشت از Jani به Tove است كه در ساختار XML ذخیره شده است:


Tove
Jani
Reminder
Dont forget me this weekend!

یادداشت یك سرباره (header) و یك بدنه اصلی پیغام دارد، همچنین اطلاعات فرستنده و گیرنده را هم در بر دارد. اما هنوز این سند XML كاری انجام نمیدهد. آن فقط اطلاعات محضی است كه در برچسبهای XML قرار گرفته است.

XML آزاد و قابل گسترش
• برچسبهای XML از قبل تعریف شده نیستند، شما باید برچسبها را خودتان درست كنید.
• برچسبهایی كه در HTML بكار میروند از پیش تعریف شده هستند و مؤلف سندهای HTML فقط میتواند از برچسبهای تعریف شده در HTML استاندارد استفاده كند ( مانند

و

).
• XML به مؤلف اجازه میدهد تا برچسبهای خود و ساختار آنها را تعریف كند.
• برچسبهای مثال بالا ( مانند و) در XML استاندارد تعریف شده نیستند، این برچسبها توسط مؤلف سند XML تعریف شده اند.

XML یك مكمل برای HTML
• XML یك جایگزین برای HTML نیست.
• درك اینكه XML یك جایگزین برای HTML نیست خیلی مهم است.
• در آینده گسترش وب احتمال داده میشود كه XML برای شرح اطلاعات به كار خواهد رفت،درحالیکه كه HTML برای فرمت و نمایش اطلاعات به كار خواهد رفت.
• شاید این بهترین تعریف از XML باشد: ابزاری مستقل از سخت افزار و نرم افزار برای انتقال اطلاعات است.

XML میتواند اطلاعات را از HTML جدا كند
• با XML اطلاعات شما در خارج از HTML ذخیره میشود.
• هنگامی كه HTML برای نمایش اطلاعات استفاده میشود، اطلاعات در درون HTML ذخیره شده است. با XML اطلاعات میتواند در فایلهای جدای XML ذخیره شود. در این روش شما میتوانید HTML را به عنوان لایه ای روی اطلاعات و برای نمایش آنها فرض كنید و مطمئن باشید كه تغییر در اطلاعات لایه های زیرین احتیاج به تغییر HTML شما نخواهد داشت.

پنج شنبه 13/3/1389 - 11:16 - 0 تشکر 203780

مقدمه ای بر XML - قسمت ۲

دنیای XML چگونه است و چگونه باید شروع كنیم، كاربردهای بیشتر XML

برای داد و ستد اطلاعات
با XML اطلاعات میتواند بین سیستم های ناسازگار داد و ستد شود.
در دنیای واقعی، سیستم های كامپیوتری و بانك های اطلاعاتی شامل اطلاعات در فرمت های ناسازگار هستند. یكی از وقت گیرترین چالش ها برای گسترش دهندگان، انتقال اطلاعات بین چنین سیستمهایی شده است.

XML و B2B
با استفاده از XML اطلاعات تجاری می تواند روی اینترنت داد و ستد شود. در آینده ای نزدیك باید منتظر شندن خبرهای بیشتری از XML و B2B(Business to Business) باشیم.
XML می رود تا زبان اصلی برای داد و ستد اطلاعات اقتصادی بین تجارت ها، روی اینترنت بشود. امروزه تعداد زیادی از برنامه های B2B در حال گسترش است.

XML برای توزیع اطلاعات
با XML ، فایل های متنی می توانند برای توزیع اطلاعات استفاده گردند (در اینجا منظور از توزیع، انتقال و پخش اطلاعات از یك نوع سیستم به سیستمهای نوع دیگر است).
زمانی كه اطلاعات در فایل های متنی ذخیره شود، XML یك روش مستقل از سخت افزار و نرم افزار برای انتقال و توزیع اطلاعات فراهم می كند.
این روش باعث میشود كه ایحاد و ساخت اطلاعاتی كه برنامه های كاربردی مختلف بتوانند با آن كار كنند بسیار آسان بشود. همچنین توسعه و ارتقاء یك سیستم به سیستم عامل، سرور، برنامه كاربردی و جستجوگرهای جدید را نیز آسانتر مینماید.

XML برای ذخیره اطلاعات
با XML فایل های متنی میتوانند برای ذخیره اطلاعات استفاده بشوند.
XML همچنین میتواند برای ذخیره اطلاعات در فایلها و بانك های اطلاعاتی مورد استفاده قرارگیرد. برنامه هایی میتواند نوشته شوند كه اطلاعات را در منابع ذخیره و فراخوانی كنند و برنامه های اصلی میتوانند برای نمایش اطلاعات استفاده شود.

XML میتواند اطلاعات شما را مفیدتر كند
XML اطلاعات شما را برای كاربرهای بیشتری قابل دسترس میكند.
به دلیل مستقل بودن XML از سخت افزار و نرم افزار و برنامه، شما میتوانید اطلاعات خود را برای برنامه هایی غیر از جستجوگرهای HTML هم قابل دسترس نمایید.
به این ترتیب اطلاعات شما در همه انواع برنامه های كاربردی دیگر قابل استفاده است، برای مثال یك برنامه كاربردی میتواند اطلاعات شما را كه در یك بانك اطلاعاتی ذخیره شده است برای نابینایان به خروجی مخصوص خود انتقال دهد.

XML و زبان های جدید
XML مادر WAP و WML است. WML كه برای دستگاه های دستی مانند موبایل ها به منظور ارتباط با اینترنت مورد استفاده قرار میگیرد، در XML نوشه شده است.

پنج شنبه 13/3/1389 - 11:17 - 0 تشکر 203781

قوانین زبان XML - قسمت ۱

آشنایی با قوانین زبان و نحوه نگارش سندهای XML

قوانین زبان XML بسیار ساده و واضح است و برای استفاده و یادگیری ساده است، به همین دلیل ساخت نرم افزارهایی كه با XML كار كنند بسیار ساده شده است.

مثالی از یك سند XML
سندهای XML خود-شرح (self-describing) هستند و قوانین ساده ای دارند.



Tove
Jani
Reminder
Dont forget me this weekend!

خط اول در سند - اعلان XML - نسخه و encoding آن را تعریف می كند.در این مورد نگارش 1 از XML و مجموعه نویسه ISO-8859-1 (كه مربوط به اروپای غربی است) استفاده شده است.

خط بعد عنصر اصلی سند را تعریف می كند (مثل این است كه می گوید: این سند یك یادداشت است).

چهار خط بعدی، چهار زیر-عنصر از عنصر اصلی تعریف می كند (body, heading, form, to ):

Tove
Jani
Reminder
Dont forget me this weekend!

و سر انجام خط آخر ، پایان عنصر اصلی را تعریف می كند.

تمام عناصر XML باید برچسب بستن را داشته باشند.
در XML، حذف برچسب های بستن مجاز نیست.
در HTML بعضی از عناصر نیاز به برچسب بستن ندارد، كد زیر در HTML مجاز نیست:

This is a paragraph

This is another paragraph

در XML همه عناصر باید برچسب بستن را داشته باشند:

This is a paragraph


This is another paragraph

نكته: ممكن است شما از مثال قبل متوجه شده باشید كه خط اعلان XML (خط اول) دارای برچسب بستن نیست، این خطا نیست. خط اعلان XML قسمتی از خود سند XML نیست و یك عنصر از XML نیست و نباید برچسب بستن داشته باشد.

برچسب های XML نسبت به حروف كوچك و بزرگ حساس هستند (case sensitive).
XML در این مورد برعكس HTML است.
در XML برچسب با برچسب فرق می كند.
بنابراین برچسب های بازكردن و بستن باید در یك حالت از نظر حروف كوچك و بزرگ باشند:

This is incorrect
This is correct

برو به انجمن
انجمن فعال در هفته گذشته
مدیر فعال در هفته گذشته
آخرین مطالب
  • آلبوم تصاویر بازدید از کلیسای جلفای...
    آلبوم تصاویر بازدید اعضای انجمن نصف جهان از کلیسای جلفای اصفهان.
  • بازدید از زیباترین کلیسای جلفای اصفهان
    جمعی از کاربران انجمن نصف جهان، در روز 27 مردادماه با همکاری دفتر تبیان اصفهان، بازدیدی را از کلیسای وانک، به عمل آورده‌اند. این کلیسا، یکی از کلیساهای تاریخی اصفهان به شمار می‌رود.
  • اعضای انجمن در خانه شهید بهشتی
    خانه پدری آیت الله دکتر بهشتی در اصفهان، امروزه به نام موزه و خانه فرهنگ شهید نام‌گذاری شده است. اعضای انجمن نصف جهان، در بازدید دیگر خود، قدم به خانه شهید بهشتی گذاشته‌اند.
  • اطلاعیه برندگان جشنواره انجمن‌ها
    پس از دو ماه رقابت فشرده بین کاربران فعال انجمن‌ها، جشنواره تابستان 92 با برگزاری 5 مسابقه متنوع در تاریخ 15 مهرماه به پایان رسید و هم‌اینک، زمان اعلام برندگان نهایی این مسابقات فرارسیده است.
  • نصف جهانی‌ها در مقبره علامه مجلسی
    اعضای انجمن نصف جهان، در یك گردهمایی دیگر، از آرامگاه علامه مجلسی و میدان احیا شده‌ی امام علی (ع) اصفهان، بازدیدی را به عمل آوردند.