مقدمه:
با توجه به اینکه در عصر ارتباطات به سر می بریم و تمامی انسانها به نحوی تلاش می کنند تا با یگدیگر ارتباط برقرار کنند.
و هر یک از آنها از روشهای مختلفی برای برقرای ارتباط استفاده میکنند.
یکی از روشهای برقراری ارتباط گفتگومیباشد.
که این روش به نوبه خود دارای انواع متفاوتی مانند گفتگو به صورت حضوری، گفتگو تلفنی، گفتگو با استفاده از اینترنت و تایپ کلمات و...
میباشد.
که هر یک از این روشهای گفتگو دارای اهمیت خاص خود میباشد.
همانطور که گفته شد یکی از روشهای برقراری ارتباط، گفتگو با استفاده از اینترنت و تایپ کلمات می باشد، که در این روش کاربران می توانند با استفاده از نرم افزارهای وب چت که بر روی اینترنت قرار دارند بادیگران در هر نقطه از جهان به گفتگو بپردازند.
با توجه به صحبتهای ذکر شده ما سعی نموده ایم تا در این پروژه نرم افزار وب چت را در اختیار کاربران عزیز قرار دهیم.
و سعی نموده ایم تا با استفاده از فن آوریهای جدید مانند آژاکس بر سرعت این نرم افزار بیفزاییم و مانع از اتلاف وقت کاربران عزیز شویم.
در این نرم افزار که در قالب یک سایت اینترنتی طراحی شده کاربران می توانند با عضویت در سایت از امکاناتی مانند: ارسال دعوت نامه دوستی برای دیگر کاربران، ارسال پیام متنی ، ارسال تصویر نما ، ارسال فایل ، ارسال نامه الکترونیکی و...
استفاده نمایند.
کارایی و امکانات سایت:
در این پروژه سایت طراحی شده دارای چندین صفحه میباشد که هر صفحه امکاناتی را برای کاربر فراهم میآورد.
این صفحات با ASP.NET ودر محیط VS.NET 2005 نوشته شدهاست.
بانک اطلاعاتی این پروژه Sql Server میباشد.
صفحه Login.aspx:
این صفحه اولین صفحهای است که پیش روی کاربر قرار میگیرد.کاربر می تواند پس از عبور از این صفحه به پروفایل شخصی خود دسترسی پیدا کند.
امکانات صفحه Login:
• اطلاعات کلی در مورد سایت
• Demo Blue Chat: کاربران می توانند با کلیک کردن بر روی این لینک فایل Demo Blue Chat را بر روی سیستم خود نصب کنند.
این فایل با نرم افزار فلش طراحی شدهاست و قسمتهای مختلف سایت را به کاربر نمایش میدهد.
• Get e new ID: کاربران می توانند با کلیک کردن بر روی این لینک وارد صفحه ثبت نام شوند و در سایت ثبت نام نمایند.
• فرم مخصوص ورود به سیستم : اعضا می توانند با کامل کردن این سایت پروفایل اصلی خود وارد شوند.
صفحه Registeration.aspx:
صفحه ثبت نام به این منظور طراحی شدهاست که کاربران بتوانند عضو سایت شوند و از امکانات آن استفاده کنند.
در این صفحه سعی شدهاست مانند دیگر صفحات سایت به منظور کاهش مدت انتظار کاربر در حین ثبت نام از تکنولوژی آجاکس استفاده شود.
امکانات صفحه:Registeration
• اطلاعات کلی در مورد سایت
• View my profile: در صورت موفقیت آمیز بودن ثبت نام کاربر، با کلیک کردن بر روی این لینک کاربر به صفحه login وارد شده و پس از وارد کردن نام کاربری و کلمه رمز خود می تواند پروفایل خود را مشاهده کند.
• فرم مخصوص ثبت نام: در این صفحه یک فرم ثبت نام پیش روی کاربر قرار می گیرد که پر کردن آن برای ثبت نام در سایت ضروری است.
صفحه Profile.aspx:
این صفحه پر محتواترین صفحه سایت است و در واقع بیشترین امکانات سایت در این صفحه قرار دارد و خود شامل زیر صفحاتی است که در تب محتوی قرار دارند.
لازم به ذکر است که در طراحی صفحاتی که غالب یکسانی دارند و تنها در یک قسمت از صفحه با هم متفاوت هستند شما می توانید از روشها ی متفاوتی استفاده کنید تا غالب تمامی آنها به صورت یکسان و مشابه باشد.
یکی از این روشها استفاده از صفحه اصلی است و روش دیگری که آجاکس پیش روی ما می گذارد و روش سریع تری نسبت به صفحه اصلی می باشد، استفاده از ابزار TabContainer است.
ما در طراحی این سایت از این ابزار برای ساختن زیر صفحات استفاده کرده ایم.
امکانات صفحه پروفایل:
لینکها :
• لینک ویرایش پروفایل
• لینک چت روم
• لینک اطلاعات کاربر
برچسبها :
• برچسب ارسال نامه الکترونیکی
• برچسب دریافت نامه الکترونیکی
• برچسب ارسال فایل
• برچسب دریافت فایل
• برچسب جستجو
• برچسب اضافه و حذف کردن دوست به لیست
• برچسب دریافت دعوت نامه
صفحه Edit Profile:
کاربران با وارد شدن به این صفحه می توانند پروفایل و اطلاعات خود را ویرایش کنند.
امکانات صفحه Edit Profile:
• اختصاصی بودن این صفحه، به این منظور که هر کاربر صفحه ویرایش خاص خود را دارد و یک کاربر نمی تواند اطلاعات کاربر دیگر را تغییر دهد.
• ویرایش و یا تکمیل نمودن اطلاعات شخصی از قبیل نام، نام خانوادگی، کشور، تاریخ تولد، جنسیت
• ویرایش رمز عبور
• ویرایش عکس
صفحه User Information:
این صفحه اطلاعات کاربر خاصی را نمایش می دهد.
صفحه Chatroom:
در این صفحه کاربران می توانند به صورت روی خط با یکدیگر صحبت کنند.
امکانات صفحهChatroom:
• نمایش لیست تمام کسانی که در صفحه وجود دارند.
• تمام کسانی که در این صفحه وجود دارند می توانند با ارسال پیغام با یکدیگر صحبت کنند.
• کاربران می توانند علاوه بر متن تصویر نما نیز ارسال کنند.
• فیلتر کردن کلمات نا مناسب: در صورتی که یکی از کاربران کلمه ای نا مناسب را ارسال کند آن را با علامت * جایگزین می کند و علامت * را برای گیرنده پیام نمایش می دهد.
معرفی بانکها :
در این پروژه با استفاده از Sql Server 2005 یک بانک اطلاعاتی با نام WebChat طراحی شدهاست.
این بانک شامل جداول زیر میباشد.
١- جدول Register: تمامی اطلاعات اعضا سایت در این جدول نگهداری میشود.
٢- جدول UserInRoom: هنگامی که کاربر وارد صفحه ChatRoom میشود اطلاعات آن وارد این جدول میشود و پس از خروج آن از این صفحه اطلاعات ان پاک میشود.
٣- جدول Mail: هنگامی که کاربر نامه ای را برای دوست خود ارسال می کند تمامی اطلاعات نامه در این جدول ثبت میشود.
٤- جدول File: هنگامی که کاربر فایلی را برای دوست خود ارسال می کند تمامی اطلاهات فایل در این جدول قرار می گیرد.
٥- جدول Invitation: هنگامی که کاربر دعوتنامه ای را برای کاربر دیگری ارسال می کند تمامی اطلاعات فرم دعوتنامه در این جدول ثبت میشود.
٦- جدول Friend: اسامی تمامی دوستان یک کاربر در این جدول ثبت میشود.
فصل اول: ابزارها و نرم افزارها ی مورد استفاده
١-١- ابزارها:
در این پروژه برای طراحی و پیاده سازی سایت از نرم افزارهای زیر استفاده شدهاست:
• آجاکس
• ASP.NET (C#)
• VS.NET 2005
• SQL Server 2005
• Photoshop 8
• وب سرور IIS
١-٢- ASP.NET:
١-٢-١- مقدمه ای بر ASP.NET:
ASP.NET نسل جدید ASP است که توسط شرکت مایکروسافت ارائه شدهاست.
این محصول توسط مایکروسافت بعنوان شاخص اصلی فناوری در ساخت سایتهای وب در نظر گرفته شدهاست.
با استفاده ازASP.NET میتوان هم اینترانت کوچک یک شرکت را ساخت و هم یک سایت وب تجاری خیلی بزرگ را طراحی و پیاده سازی نمود.
مهمترین نکاتی که در طراحی این محصول در نظر گرفته شدهاست راحتی استفاده و بالا بودن کارائی و قابلیت آن میباشد.
١-٢-٢- ویژگیها ی ASP.NET:
• صفحات ASP.NET کامپایل میشوند.
هنگامی که یک صفحه ASP.NET برای اولین بار توسط یک مراجعه کننده به سایت فراخوانی میشود، آن صفحه ابتدا کامپایل شده و بر روی سرور نگه داشته میشود و در فراخوانیها ی بعدی از آن استفاده میشود.
این بدین معنی است که صفحات ASP.NET خیلی سریع اجرا میشوند.
هنگامی که یک صفحه ASP.NET برای اولین بار توسط یک مراجعه کننده به سایت فراخوانی میشود، آن صفحه ابتدا کامپایل شده و بر روی سرور نگه داشته میشود و در فراخوانیها ی بعدی از آن استفاده میشود.
این بدین معنی است که صفحات ASP.NET خیلی سریع اجرا میشوند.
صفحات ASP.NET با ابزارهای روی سرور ساخته میشوند.
با ابزارهای موجود در ASP.NET می توان صفحات پیچیده وب را براحتی طراحی نمود.
بعنوان مثال با استفاده از ابزار دیتا گرید می توان به آسانی دادهها ی موجود در یک بانک اطلاعاتی را تحت وب نمایش داد.
مجموعه ASP.NET عضوی از بدنه .NETاست.
بدنه .NETدارای بیش از ۴۵۰۰ کلاس آماده جهت استفاده در ASP.NET است.
این کلاسها تقریبا هر نیازی را در برنامه نویسی برآورده می کنند.
بعنوان مثال از این کلاسها می توان جهت تولید تصاویر بر حسب تقاضا، به رمز درآوردن یک فایل و یا ارسال یک نامه استفاده کرد.
٣-٢-١- مقایسه ASP.NET و ASP کلاسیک: ASP.NET نسل بعدی ASP کلاسیک است.
اما این یک پیشرفت تکاملی است بطوریکه این دو فناوری تقریبا از یکدیگر متفاوتند.
صفحات ASP با زبانها ی دستورالعمل نویسی مانند VBScript یا جاوااسکریپت ایجاد میشوند اما درASP.NET ما یک فرایند کامل برنامه نویسی با زبانهای ویژوال بیسیک یا #C داریم.
همچنین در ASP کلاسیک تنها پنج کلاس استاندارد (Request, Response, Application Session, Server) وجود دارد حال آنکه در ASP.NET می توان از بیش از ۴۵۰۰ کلاس استاندارد موجود در بدنه.NET بهره جست.
همچنین علیرغم قدرت و امکانات زیاد و متعددASP.NET، استفاده از آن در مقایسه با ASP کلاسیک بسیار آسانتر است.
بعنوان مثال با استفاده از چند ابزار در یک صفحه ASP.NET می توان یک صفحه بسیار پیچیده HTML بدست آورد که ساخت آن در ASP کلاسیک ممکن است نیاز به چند روز کار داشته باشد.
١-٢-٤- زبانهای برنامه نویسی در: ASP.NET شما در ASP.NET می توانید از هر زبان برنامه نویسی که با بدنه .NET سازگار باشد استفاده کنید.
این زبانها عبارتند از ویژوال بیسیک دات نت و C# و جاوا اسکریپت دات نت این بدین معنی است که شما جهت نوشتن برنامه در ASP.NET نیاز به فراگیری زبان جدیدی ندارید و اگر یکی از زبانهای ویژوال بیسیک یا C++ یا جاوا را می دانید هم اکنون می توانید در ASP.NET برنامه بنویسید.
از طرف دیگر تعدادی زبانهای دیگر توسط بعضی از شرکتهای فعال در این زمینه به مجموعه زبانهای استاندارد ASP.NET افزوده شدهاست.
بعنوان مثال اگر مایل باشید حتی می توانید از زبان پرل و کوبل هم در ASP.NET استفاده کنید.
١-٢-٥- ابزارهای: ASP.NET سالهاست که برنامه نویسان ویژوال بیسیک جهت ساخت فرمها ی خود از ابزارهای ویژوال بیسیک مانند جعبه متن وجعبه لیستاستفاده کرده اند.
در ASP.NET هم شما می توانید از ابزارهای فراوان موجود در آن برای ساخت فرمها و صفحات خود استفاده نمائید.
در ASP.NET چهار دسته عمده از ابزارها موجود است: ابزارهای اصلی مانند: جعبه متن، جعبه لیست، دکمه ابزارهای اعتباری برای حصول اطمینان از ورود و تائید صحت اطلاعات ورودی فرمها .
ابزارهای داده ای برای ارتباط با بانک اطلاعاتی و دستکاری داده.
ابزارهای پیشرفته جهت نمایش عناصر پیچیده در واسط کاربر مانند تقویم و آگهیها ی تبلیغاتی.
١-٢-٦- ساختار یک صفحه aspx: صفحات ASP.NE به طور کلی دارای چندین بخش اصلی می باشند.
این بخشها را می توان در هفت مورد بررسی کرد: ١- دایرکتیوها ٢- بلوکهای اعلان کد ٣- کنترلهای ASP.NET ٤- بلوکهای پردازش کد ٥- توضیحات طرف سرور ٦- دایرکتیو Include طرف سرور ٧- متن ساده و تگها ی HTML ١-٢-٦-١- دایرکتیوها: دایرکتیوها تنظیمات خاصی را برای صفحات aspx و ascx تنظیم می کنند که نحوه کامپایل شدن صفحه را مشخص می کند.
دایرکتیوها با بلوک نشان داده می شوند و در هرکجای صفحه قابل تعریف می باشند معمولاً در ابتدای صفحه آورده می شوند.
در .NET Framework هشت نوع دایرکتیو وجود دارد که دو نوع Page و امپورت از بقیه پرکاربردتر هستند.
دایرکتیو Page فقط در صفحات aspx قابل استفاده است و برخی خصوصیات Page نظیر زبان برنامه نویسی، نوع محتوا، نوع کد Page، توضیحات مختصر در مورد صفحه، فعال بودن یا نبودن وضعیت ظاهر و...
را مشخص می کند.
مثلاً خط زیر به کامپایلر ASP.NET می گوید که زبان برنامه نویسی صفحه VB و نوع محتوا، متن/XML است: دو خصوصیت دیگر Page، قابلیت ردگیری و قابلیت نمایش پیامها ی خطای زمان اجراست که برای اشکال زدایی از برنامه بکار می آیند.
این دو خصوصیت بدین صورت فعال می شوند: دایرکتیو وارد کردن، برای وارد کردن یک فضانام به صفحه بکار می رود.
به این ترتیب کلیه کلاسها و واسطها ی آن فضانام در صفحه قابل استفاده می شود.
این فضانام می تواند جزیی از .NET Frameworkیا یک فضانام تعریف شده توسط کاربر باشد.
صورت کلی این دایرکتیو اینگونه است: ١-٢-٦-٢- بلوکها ی اعلان کد: این بلوکها برای تعریف متغیرها و متدها، زیربرنامهها و توابع و به طور کلی برای تعریف منطق یک صفحه ASP.NET بکار می روند.
شکل کلی یک بلوک اعلان کد چنین است: Code goes here تمامی کدهای یک صفحه ASP.NET در داخل چنین بلوکی قابل تعریف اند و اگر آنها را خارج این بلوک تعریف کنید، با پیغام خطا مواجه می شوید.
خصوصیت دلخواه زبان، زبان برنامه نویسی کدِ داخل بلوک را تعیین می کند.
دقت کنید که اگر این خصوصیت تعیین نشود، زبان پیش فرض صفحه که توسط دایرکتیو Page مشخص شده، به عنوان زبان برنامه نویسی صفحه در نظر گرفته می شود.
در ضمن زبان مشخص شده در تگ اسکریپت با زبان مشخص شده در دایرکتیو Page باید یکسان باشند.
در صورتی که هیچ زبانی انتخاب نشده باشد، زبان پیش فرض، ویژوال بیسیک است.
١-٢-٦-٣- کنترلها ی: ASP.NET کنترلها ی ASP.NET را می توان در کنار محتوای HTML بکار برد.
تنها الزام در این مورد، قرار دادن آنها بین دو تگ و است.
البته در مورد بعضی تگها نظیر و می توان این الزام را نادیده گرفت.
یک محدودیت در این زمینه این است که فقط از یک تگ می توان استفاده نمود.
در واقع در صفحات ASP.NET امکان گروه بندی به چند فرم وجود ندارد.
١-٢-٦-٤- بلوکها ی پردازش کد: بلوکها ی پردازش کد برای اجرای کد موجود در محتوای متنی یا HTML یک صفحه ASP.NET بکار می روند.
دو نوع بلوک پردازش کد وجود دارد که عبارت اند از: کد درون خطی و عبارتهای درون خطی.
کد درون خطی، دستور یا یکسری از دستورات را اجرا می کند.
این کد با تگها ی مشخص می شود.
عبارت درون خطی، مقدار یک متغیر یا متد را نشان می دهد.
عبارتهای درون خطی با کاراکترهای مشخص می شوند.
١-٢-٦-٥- توضیحات طرف سرور: ممکن است بخواهیم مانند تمام زبانها ی برنامه نویسی دیگر، مابین کدهای برنامه نویسی از توضیحاتی جهت مفهومی تر شدن کد، استفاده کنیم.
در ASP.NET این توضیحات را در بین تگهای قرار می دهیم.
در این صورت محتوای بین این تگها، چه کد ASP.NET باشد و چه متن ساده، مورد پردازش قرار نخواهد گرفت.
یک نکته اینکه نمی توان چند توضیح طرف سرور را به صورت تودرتو استفاده کرد.
١-٢-٦-٦- دایرکتیو Include طرف سرور: با استفاده از این دایرکتیو می توان محتویات یک فایل مشخص شده را در هر کجای صفحه ASP.NET قرار داد.
شکل کلی این دایرکتیو اینگونه است: می توان هم از خصوصیت فایل و هم از Virtual برای دادن مسیر فایل استفاده کرد.
اگر از فایل استفاده کنیم، فایلی که می خواهیم شامل کنیم، نباید در دایرکتوری بالاتر از دایرکتوری فایلی که دستور Include در آن است باشد.
اما درVirtual، مسیر فایل را می توان هر کجا که هست، به صورت کامل و نسبی وارد کرد.
مثلاً اگر فایل ما در دایرکتوری به اسم MyDir که یکی از زیر شاخهها ی wwwroot است، باشد؛ باید دستور زیر را بکار برد: دایرکتیو Include قبل از هر کدی در صفحه اجرا می شود، بنابراین برای تعیین مسیر فایلی که می خواهیم شامل کنیم نباید از متغیرها استفاده کنیم.
١-٢-٦-٧- متن ساده و تگها ی HTML: آخرین ساختاری که می توان در یک صفحه ASP.NET بکار برد، محتوای HTML است.
قسمتها ی ثابت صفحه، با همان تگها ی معمولی HTML و متن ساده ساخته می شود.
در واقع محتوای HTML صفحه ASP.NET همراه با بقیه کدها کامپایل می شود.
١-٢-٧- معماری فایل ASP.NET: در عمل و ساختار برنامهها ی کاربردی ASP.NET از فایلها ی زیادی استفاده میشود.
.asax این پسوند برای فایل خاصی بنام Global.asax استفاده میگردد.
این نوع فایل محتوی ترکیب نحوی رویداد برای نوشتن رویدادهای سطح برنامه کاربردی ASP.NET است.
آن را می توان در دایرکتوری ریشه یک برنامه کاربرد ASP.NET پیدا کرد.
.ascx این نوع فایل نمایانگر یک کنترل تعریف شده توسط برنامه نویس ASP.NET است.
کنترلها ی کاربر در صفحات ASP.NET عموما از کنترلها ی سرویس دهنده (کادرهای متنی، کادرهای فهرست، دکمهها و غیره) تشکیل شده اند که عناصر اولیه صفحه وب را می سازند.
ASP.NETدرست مانند برنامه سازی مرسوم ویژوال بیسیک امکان ایجاد کنترلها ی تعریف شده توسط برنامه نویس را فراهم می کند.
این کنترلها معمولا از ترکیب کنترلها ی سرویس دهنده و برنامه سازی برای انجام یک وظیفه یا مجموعه ای از وظایف بخصوص تشکیل میشوند.
.asmx این پسوند برای سرویسها ی XML وب استفاده میگردد.
این نوع فایل از سوی آن دسته از سرویسها ی وب میزبان مورد استفاه قرار می گیرد که از راه دور یا بطور محلی در معرض برنامهها ی کاربردی .NETهستند.
سرویس وب موجودیتی قابل برنامه ریزی است که برای برنامه کاربردی یک عنصر خاص کارکرد معینی را تامین می کند.
.aspx از این پسوند که اصلی ترین پسوند ASP.NET است برای فرمها ی وب و صفحات معمولی ASP.NET استفاده میگردد.
.axd این نوع فایل مربوط به پیگیری برنامه کاربردی ASP.NET است و به ASP.NET اجازه می دهد تا به جمع آوری اطلاعات درباره درخواستها ی HTTP برای یک برنامه کاربردی بپردازد.
.vsdisco این نوع فایل XML، لینکها را در معرض منابع دیگری قرار می دهد که سرویس وب را توصیف می کنند.
از فایل VSDISCO برای کشف سرویسها ی وب استفاده میشود که بطور عمومی موجود هستند.
.htm فایلها ی معمولی از نوع HTML را در برمی گیرند.
.xml این نوع سند XML مخصوص استفاده در برنامهها ی کاربردی ASP.NET است.
این فایل XML برای مقاصد مختلفی استفاده میشود از جمله نگهداری اطلاعات برنامه کاربردی و نیز مجموعه دادهها ی بازگشتی از بانک اطلاعاتی.
.vb این فایل شامل کد ویژوال بیسیک است که آن نیز به نوبه خود به یک فایل ASPX یا ASCX به ارث می رسد و کلیه عملیات برنامه ای مربوط به صفحات ASP.NETدر آن قرار می گیرد.
این نوع فایل اصطلاحا کد پنهان نیز نامیده میشود.
.cs همانند پسوند .VB است اما بجای کد ویژوال بیسیک حاوی کد زبان C# است.
.config پسوند فایل web.Config است.
این نوع فایل بر یک فایل پیکربندی دلالت دارد یعنی فایلی که از آن برای تعیین صفات مشخصه مختلف برنامه کاربردی استفاده میشود.
این صفات مشخصه شامل تنظِمات اشکال زدایی، تائید امنیت، کارکرد پیگیری، مدیریت جلسه کاری و عمومی سازی میشوند.
١-٢-٨- شئ جلسه در ASP.NET: ASP.NET تنظیمات مدیریت وضعیت پیشرفتهای نسبت به شئ جلسه در ASP کلاسیک دارد.
این تنظیمات در فایل Web.Config پیکربندی میشوند.
پیکربندی جلسه: وضعیت جلسه می تواند در قسمت فایل Web.Config پیکربندی شود.
رویدادهای جلسه: دو رویداد مربوط به شروع و خاتمه جلسات در فایل Global.aspx وجود دارند که میتوانید آنها را اداره کنید.
این رویدادها شروع جلسه و پایان جلسه نام دارند.
مثلا به کمک آنها می توان تعداد کاربران آنلاین وب سایت را در صفحه نشان داد.
برای این کار باید در رویداد شروع جلسه یک واحد به تعداد کاربران آنلاین اضافه کنیم و یک واحد از این تعداد را در رویداد پایان جلسه کم کنیم.
استفاده از شئ جاسه: شئ جلسه در واقع یک خصوصیت کلاس Page و همچنین یک نمونه از کلاس HttpSessionState است که در فضانام System.Web.SessionState تعریف شدهاست.
استفاده از شئ جلسه همانند استفاده از یک مجموعه است.
١-٢-٩- فضانامها در ASP.NET: یک نکته مهم که در زمان استفاده از .NET Framework باید به آن توجه داشت آن است که فضانام در ساختمان برنامه کاربردی قرار دارند.
فضانام یک طرح نامگذاری منطقی برای گروه بندی کلاسها ی مرتبط است.
این طرح مانع از آن میشود تا کلاسها یی که برای متدها و خصوصیات از یک شناسه یکسان استفاده می کنند تداخل داشته باشند.
مثلا .NET Framework برای گروه بندی تایپها به مقولهها ی منطقی عملکرد، از قبیل چارچوب برنامه کاربردی ASP.NET، از یک طرح نامگذاری سلسله مراتبی استفاده می کند.
ابزارهای طراحی از فضانامها با هدف تسهیل مرور و ارجاع تایپها در برنامه بهره برداری می کنند.می توانید در فضانامها ی خود از یک ساختار سلسله مراتبی استفاده کنید.
قرار دادن اشیاء مشابه تحت زیرعنوانها در یک فضانام مشترک تشخیص هدف فضانام را آسانتر می کند، و در عین حال باعث میشود برنامه به مراتب شئ گراتر شود.
فضانامها در ساخت برنامهها ی کاربردی ASP.NET نقش مهمی ایفا می کنند.
خوشبختانه لازم نیست برای همه اشیایی که می توانند به وسیله صفحات ASP.NET مورد استفاده قرار بگیرند سیستم طبقه بندی فضانام ایجاد کنید.
مایکروسافت این مساله را برای شما حل کردهاست.
دو فضانام ریشه، و فضانامهای فرزند آنها را می توان وارد صفحات ASP.NET خود کرد.
اولی سیستم نامیده میشود، و دومی میکروسافت نام دارد.
فضانام سیستم: فضانام سیستم فضانام اصلی برای ساخت ASP.NET و همه برنامهها ی کاربردی دیگر مبتنی بر.NET Framework است.
هر چیزی که در برنامه کاربردی شما قابل انجام باشد از طریق فضانام سیستم کنترل میشود.
۹ فضانام پیش فرض (فضانام سیستم و ۸ فرزند آن) وجود دارند که به صورت خودکار به صفحات ASP.NET اضافه میشوند: • System • System.ComponentModel.Design • System.Data • System.Drawing • System.Web.SessionState • System.Web • System.Web.UI • System.Web.UI.WebControls • System.Web.UI.HTMLControls فضانام میکروسافت: علاوه بر فضانام سیستم که در چارچوب .NET یافت میشود، مایکروسافت چند فضانام اضافه کردهاست که برای زبان برنامه سازی ای که می خواهید از آن در برنامه کاربردی خود استفاده کنید عملکرد لازم را تامین می کنند.
ممکن است شما بصورت مستقیم با این فضانام کاری نداشته باشید.
استفاده از فضانامها در صفحات:ASP.NET دو راه برای افزودن فضانام به برنامه کاربردی ASP.NET وجود دارد.
از شبه دستورImport@ برای صفحات ASPX و از کلمه کلیدی Imports برای افزودن فضانام به برنامه مربوطه در ویژوال بیسیک استفاده میشود و برای زبان C#از دستور using استفاده میگردد.
قطعه برنامه زیر ترکیب نحوی برای افزودن فضانام System.Web.UI.Web Controls به صفحه ASP.NET شما است.
همین فضانام را در قسمت کد برنامه بصورت زیر به برنامه اضافه میکنیم.
Imports System.Web.UI.WebControls (vb.net) Using System.Web.UI.WebControls; (C#) در صورتیکه می خواهید چند فضانام را به صفحه ASP.NET خود و یا صفحه کد اضافه کنید باید هرکدام را جداگانه اضافه کنید.
بعنوان مثال، برای افزودن فضانام System.Web.UI.HTMLControls به صفحات با فضانامها ی موجود، درست بعد از آخرین عبارت مهم به خط بعد بروید و Imports System.Web.UI.HTMLControls را اضافه کنید.
به محض آنکه Imports System.
را تایپ کنید، VS.NET فهرستی از فضانامها را ظاهر می کند، و می توانید به سادگی فضانام مورد نظر را با ماوس برگزینید.
١-٢-١٠- فایل web.config: بیشتر برنامهها ی کاربردی کامپیوتری دارای بخشی به نام نصب هستند که برای انجام تنظیمات متناسب با استفادههای مختلف کاربران مورد استفاده قرار میگیرد.
برنامهها ی کاربردی مبتنی بر وب نیز که دارای کاربران زیادی هستند که از این قائده مستثنی نیستند و احتیاج به انجام تنظیماتی متناسب با کاربردهای مختلف خود دارند.
در ASP.NET اینگونه تنظیمات که مربوط به منابع مورد استفاده برنامه کاربردی، اطلاعات محلی، اطلاعات امنیتی و...
میشوند در داخل یک فایل XML ذخیره میشوند که نام آن Web.Configاست.
این فایل شامل تعداد زیادی تگ با خصوصیات مختلف است که هر یک به جنبه ای از یک برنامه کاربردی تحت وب مربوط هستند.
تنظیمات هر فایل Web.Config به فایلهای داخل زیر دایرکتوریای که در آن قرار دارد و همچنین زیر دایرکتوریها ی آن اعمال میشود.
همچنین برنامه نویس می تواند از طریق کدهای داخل هر فایل Web.Config منابع و دایرکتوریها ی مورد نظر را تغییر دهد.
١-٢-١١- بهینه سازی و افزایش کارایی و سرعت برنامهها ی ASP.NET: اگرچه ASP.NET مدل جدیدی از برنامه نویسی تحت وب میباشد و آمدهاست که نواقص و کمبودهای قبلی را برطرف نموده و به کارآیی برنامهها ی تحت وب بیافزاید، اما شما همچنان نیاز دارید که جهت کارآیی و بهینه بودن برنامهها یتان نکاتی را رعایت کنید.
این نکات جهت افزایش کارآیی، سرعت و صرفه جویی در مصرف منابع بر روی سرور است.
حالت جلسه را در صورت عدم نیاز حتما غیرفعال نمائید: بصورت پیش فرض وضعیت جلسه برای هر صفحه فعال است.
اگر مطمئن هستید که در آن صفحه از متغیرهای جلسه استفاده نمیکنید، حتما آن را در دایرکتیو Page بالای صفحه تان با قراردادن آن برابر نادرست غیرفعال کنید تا بدین ترتیب منابع اضافی در سرور مصرف نشود.
از کنترلها ی سرور با احتیاط استفاده کنید: اگرچه کنترلها ی سرور دارای قابلیتها ی بسیار زیاد و جالبی می باشند اما این قابلیتها ناشی از اجرای آنها بر روی سرور است.
از آنجا که هر اجرائی بر روی سرور ایجاد بار اضافی در سرور می کند لذا در استفاده از این نوع کنترلها خست بخرج دهید و اگر جائی می توانید از کنترلها ی معمولی HTML استفاده نمائید حتما این کار را بکنید.
از Page.IsPostback استفاده کنید.
استفاده از Page.IsPostback سبب کاهش رفت و برگشتها ی اضافی میگردد.
همچنین به شما کمک می کند که تشخیص دهید چه موقع نیاز به تولید داده جدید برای یک صفحه دارید.
تا آنجائیکه ممکن است از حالت دید استفاده نکنید.
حالت دید هم مانند حالت جلسه برای نگهداری اطلاعات و سابقه یک فرم از منابع سرور استفاده کرده و به حجم صفحات اضافه می کند.
از طرفی این حالت بصورت پیش فرض فعال میباشد.
لذا در صورتیکه به آن نیاز ندارید از آن استفاده نکنید و حالت آن را غیرفعال نمائید.
از روالها ی ذخیره شده استفاده کنید.
اگر از بانک اطلاعاتی در برنامه تان استفاده می کنید، سعی کنید که حتما پرس و جوهای خود را به روالها ی ذخیره شده بسپارید.
از آنجائیکه این روالها برای مراجعه اول کامپایل شده و از آن پس جهت اجرا در اختیار مدیر بانک اطلاعاتی قرار می گیرد، نسبت به پرس و جوهای معمولی درون برنامه ای بسیار کاراتر و سریعتر هستند.
از طرفی با بهینه سازی خاصی که برای گرداننده SQLServer در مجموعه .NET شدهاست، سرعت اجرای روالها ی ذخیره شده نسبت به روشها ی معمولی OLEDB یا ODBC بیش از دو الی سه برابر میباشد.
از خواننده داده استفاده کنید.
اگر حجم بالائی از داده ندارید یا تنها می خواهید از بانک اطلاعاتی عمل خواندن را انجام دهید حتما از خواننده داده استفاده کنید.
استفاده از دیتا ست سبب کندی کار و مصرف بالای منابع میگردد.
١-٢-١٢- ذخیره کردن فایل سمت سرور در ASP.NET: کدهای مربوط به ذخیره کردن فایل سمت سرور را باید به دو قسمت تقسیم نمود.
قسمت اول شامل کدهایی است که نحوه نمایش در مرورگر را شامل میشوند و اساس آن بر HTML است.
و قسمت دوم مربوط به طرف سرور است که شامل کدهایی است که با ASP.NET نوشته میشوند.
کدهای طرف مشتری: به دلیل آنکه در این قسمت، ارسال اطلاعات به سرور را داریم، باید کدهای مربوطه درون یک فرم قرار گیرند.
اما لازم است که ویژگی encType آن فرم را به صورت زیر مقدار دهی کنیم، زیرا در غیر اینصورت فایل انتخاب شده توسط کاربر به سرور ارسال نخواهد شد: encType="multipart/form-data" در HTML کنترلی وجود دارد که وظیفه دریافت نام فایل و ارسال آن به سرور را عهده دار میباشد: توجه کنید که این کنترل را به صورت یک سرور کنترل در می آوریم تا بتوانیم در ASP.NET از تواناییها ی آن استفاده نماییم و به همین دلیل ویژگی runat="server" را به کنترل مربوطه اضافه کرده ایم.
بنابراین کد مربوط به قسمت مشتری به صورت زیر خواهد بود: کدهای طرف سرور: این قسمت کدهایی را شامل میشود که برای ذخیره کردن فایل بر روی سرویس دهنده مورد استفاده قرار میگیرند.
همانطور که گفته شد شئ مربوط به دریافت نام فایل را به صورت سرور کنترل قرار دادیم تا بتوانیم از خصوصیات آن در سرور استفاده کنیم (در اینجا نام آنرا MyInputFile درنظر گرفته ایم).
یکی از خصوصیات این شئ، شئ Posted File میباشد که به فایل ارسالی توسط کاربر اشاره می کند.
این شئ نیز شامل متدی است که اقدام به ذخیره فایل می کند.
بنابراین قبل از ذخیره کردن باید مطمئن شد که آیا شئ Posted File به چیزی اشاره میکند و یا اینکه تهی است.
برای این منظور کد مربوط به ذخیره سازی را در شرط زیر قرار میدهیم: If Not (MyInputFile.PostedFile Is Nothing) Then و درصورت صحیح بودن شرط، اقدام به ذخیره سازی می نماییم.
متد Save As شئ Posted File دارای پارامتری است که محل و نام فایلی که قرار است بر روی سرور ذخیره شود را مشخص می کند.
در انتها نیز پیغامی مبنی بر اینکه فایل با موقیت ذخیره شدهاست را به کاربر میدهیم.
Response.
Write ("Your File was saved on the server successfully...") بنابراین کد طرف سرور به صورت زیر خواهد بود: sub page_load(s as object, e as EventArgs) If Not (MyInputFile.PostedFile Is Nothing) Then MyInputFile.PostedFile.SaveAs ("c:\filename.ext") Response.
Write ("Your File was saved on the server...") End If end sub ١-٣- Sql Server: ١-٣-١- مقدمه ای برsql server: SQL Server 2000 یک موتور پایگاه داده ارائه شده توسط شرکت مایکروسافت است و ادامه ویرایشSQL Server 7 است.
بدون اقراق می توان گفت این محصول پر کاربرد ترین بسته نرم افزاری پایگاه داده محسوب می شود.
البته مایکروسافت ادعا کردهاست که بیش از ٦٠% بازار پایگاه داده جهان را به خود اختصاص داده و این روز به روز در حال افزایش است.
شرکت IBM در اواخر دهه ٧٠ زبان SEQUEL که برای پرس و جوها استفاده می شد را ابداع کرد.
با تغییر زمان این زبان نیز تغییراتی کرد و تا آنجا که فقط برای پرس و جوها استفاده نمی شد و از آن می توانستیم برای مدیریت و امنیت در پایگاه داده نیز استفاده کنیم و بعد از مدتها این زبان به SQL تغییر نام داد.
امروزه ورژنهای متعددی از این نرم افزار استفاده می شود که نرم افزارMicrosoft SQL Server 2000 از Transact SQL که به آن TSQL هم می گویند استفاده می کند.
SQL Server 2000 هم اکنون دارای ٢ نسخه است: یکی SQL Server 2000 Personal Edition که بر روی کلاینت نصب می شود (Windows 98 - Windows ME - Windows 2000 Professional - Windows XP Home Edition - Windows XP Professional Edition) البته اگر بر روی Windows 98 و Windows ME نصب کنیم، بسیاری از قابلیتها ی این بسته نرم افزاری از بین می رود.
بهترین حالت نصب این نسخه بر روی سیستم عاملهای 2000 Professional Windows و Windows XP Professional است.
یک نسخه دیگر این نرم افزار: Enterprise Edition SQL Server 2000 است که مختص سرورها است یعنی فقط بر روی تمامی نگارشها یWindow Server 2K و Windows Server 2003 نصب می شود.
اغلب برنامه نویسان بانکهای اطلاعاتی، برای برقراری ارتباط بین محیط کاربر و بانک اطلاعاتی مجبور به استفاده از دستورات SQL هستند.
در هنگام استفاده از این دستورات همواره سرعت و کارایی مهمترین پارامتر به حساب میآیند.
١-٣-٢- خلاصه ای از دستورات SQL: -دستور Select: این دستور که دستوری مستقل نیست و حتما باید با اجزایی بکار رود جهت ساخت پرس و جو بر روی بانک اطلاعاتی بکار میرود و رکوردهایی که با شرایط این دستور همخوان باشد به عنوان نتیجه پرس و جو برمیگرداند.
چهار کلمه کلیدی وجود دارند که بخشها ی ارزشمند این دستور را تشکیل میدهند: ١- select ٢- from ٣- where ٤- order by شکل کلی دستور: Select [*|distinct column1, column2…] From [table, table2…] Where شرط نام فیلد یا شماره فیلد Order by استفاده از توابع در:Select ١- Count: تعداد سطرهای بازگردانده شده توسط select را می شمارد.
Select Count (*) from Customers Where Country=’uk’ در اصل تعداد مشتریانی را می شمارد که در کشور انگلیس هستند.
که عدد 7 جواب است.
٢- Sum: مجموع یک فیلد عددی را برمیگرداند.
Select sum (Quantity) from [Order Details] استفاده از group by: هنگامی که از توابع count و Sum به همراه یک فیلد دیگر در دستور select استفاده میشود از group by استفاده میکنیم.
نکته: دستور where می تواند خود شامل یک دستور select باشد.
تنها نکته ای که می بایست توجه کرد این است که نام فیلدی که در شرط آورده می شود حتما در دستور select آورده شود, به عبارت دیگر select درون شرط تنها یک ستون را می بایست برگرداند.
٣- :Min, max بیشترین و کمترین مقدار فیلد را در بانک اطلاعاتی بدست می دهد.