معرفی وبلاگ
دسته
آرشیو
آمار وبلاگ
تعداد بازدید : 81521
تعداد نوشته ها : 67
تعداد نظرات : 0
Rss
طراح قالب
وحيد اسدي
با استفاده از Asp.net 2.0 برنامه نویسان بهتر است از یکی از فراهم کننده های Membership برای مدیریت ذخیره سازی حسابهای کاربری شان استفاده کنند. در این سری مقالات ما از SqlMembershipProvider استفاده میکنیم. این فراهم کننده از پایگاه داده های SQL Server برای ذخیره سازی حسابهای کاربری استفاده مینماید. زمانی که از فراهم کننده SqlMembershipProvider استفاده میکنیم، نیاز داری تا یک شمای پایگاه داده بخصوص را پیاده سازی کنیم که شامل جداول، نماها (views) و روالهای ذخیره شده ( stored procedures ) مورد نیاز است. با استفاده از فراهم کننده Membership، اعتبار سنجی اعتبارنامه کاربر به سادگی هر چه تمام
پنج شنبه 1388/4/11 21:20
به خاطر سپردن بلیط احراز هویت در طول مشاهده صفحات پس از لاگین کردن، بلیط احراز هویت فرمها میبایست در هر درخواست به وب سرور فرستاده شود تا کاربر در سایت مذکور همچنان لاگین شده بماند. این کار معمولا بوسیله نگهداری بلیط احراز هویت در مجموعه کوکی های کاربر انجام میگردد. کوکی ها فایل های متنی کوچکی هستند که در کامپیوتر کاربر نگهداری میشوند و در سربرگهای HTTP در هر درخواستی که به سمت سایت ایجاد کننده کوکی فرستاده میشود، ارسال میگردند. بنابراین، زمانی که بلیط احراز هویت فرمها ایجاد و در کوکی های مرورگر ذخیره شد، مراجعات بعدی به سایت مذکور با ارسال بلیط گفته شده انجام میگیرد و کاربر احر
پنج شنبه 1388/4/11 21:17
پیشگفتار بسیاری از وب سایتها، انجمنهای گفتگوی برخط، سایتهای تجاری، سایتهای سرویس دهنده ایمیل، درگاه ها در یک قابلیت مشترک به نام حسابهای کاربری دارند. سایتهایی که امکان حسابهای کاربری را فراهم میسازند، میبایست حاوی سرویسهای خاصی نیز باشند. حداقل اینکه یک کاربر جدید نیاز دارد که بتواند یک حساب کاربری جدید برای خودیش ایجاد کند و کابران دارای چنین حسابی باید بتوانند لاگین کرده و وارد سایت شوند. چنین وب سایتهایی میتوانند بر مبنای کاربری که لاگین کرده است تصمیم گیری نمایند: برخی صفحات یا اعمال میبایست فقط برای کاربران لاگین کرده یا بخش خاصی از کاربران قابل دسترسی باشد. همچنین برخی صف
پنج شنبه 1388/4/11 21:15
مدتی پیش در حال توسعه برنامه ای بودم که یک صفحه Asp.net حجیم داشت. این صفحه دارای 30 کنترل مختلف بود. همانطور که میدانید در چنین شرایطی بسیار مفید است اگر Viewstate را برای کنترلهایی که در واقع به آنها نیاز نداریم غیرفعال نماییم، مثلا برای literal ها یا Label ها. پس از انجام این کار من متوجه شدم که ViewState مورد نظر همچنان حجم بالایی دارد و در نتیجه هنوز هم مشکل ساز است. تصور کنید کاربرانی که به اینترنت پرسرعت دسترسی ندارند آیا تمایلی دارند صفحه را مشاهده نمایند که در آن یک ViewState 40 کیلوبایتی وجود داشته باشد؟ این مشکل بویژه زمانی حادتر میشود که منطق برنامه ما ایجاب کند کارر بار
پنج شنبه 1388/4/11 21:14
فرض کنید میخواهیم در یک صفحه، تصاویری که در پایگاه داده هایمان موجود است را به صورت thumbnail نمایش دهیم. برای انجام این کار ابتدا کافی است تا یک صفحه وب aspx ایجاد کنیم. سپس در متد Page_Load در کد پشت صفحه تصویر تمام اندازه ای را که از پایگاه داده ها دریافت نموده ایم کاهش اندازه دهیم و آن را روی صفحه نمایش دهیم. در متد Page_Load این مراحل را طی میکنیم: 1- یک شیء از کلاس System.Drawing.Image با استفاده از آرایه ای از بایتها که از پایگاه داده دریافت نموده ایم ایجاد میکنیم 2- از یک ثابت برای تعریف ارتفاع thumbnail و محاسبه عرض برای نگهداری نسبت تصویر استفاده میکنیم 3- از متد GetThumbnai
پنج شنبه 1388/4/11 21:13
گاهی اوقات لازم است برخی پارارمترهای زمان اجرای HTTP با توجه به برنامه ای که در حال توسعه آن هستیم تغییراتی داشته باشند. مثلا زمان timeout گاهی ممکن است با توجه به حجم پردازش ما بر روی سرور کافی نباشد و مجبور به اضافه کردن آن باشیم. از آنجایی که ما در برنامه های تحت وب معمولا به و سرور دسترسی نداریم نمیتوانیم این تنظیمات را از طریق وب سرور انجام دهیم. در این برنامه قصد داریم تا به شما آموزش دهیم چگونه این کار را از طریق فایل web.config انجام دهیم. برای انجام این کار مراحل زیر را طی میکنیم: 1- فایل web.config را در صورت عدم وجود ایجاد میکنیم 2- در قسمت configuration ، یک هندلر به نا
پنج شنبه 1388/4/11 21:12
در این مقاله یکی از ویژگیهای جذاب و کاربردی چهارچوب دات نت یا.net framework را که مکانیزم شرح نوع یا Type Description است بررسی میکنیم. این مکانیزم در فضای نام System.ComponentModel قرار دارد و عموما توسط کلاسهای TypeDescriptor, CustomTypeDescriptor ، اینترفیس ICustomTypeDescriptor و برخی کلاسهای دیگر بیان میشود. این کلاسها عموما توسط برخی کنترلها مانند DataGrids و DataBinder مورد استفاده قرار میگیرند. به طور خلاصه میتوانیم اینگونه بگوییم که این کلاسها به ما امکان میدهد تا یک نوع داده ای یا یک منبع داده ای تعریف کنیم که زمانی که به یک کنترل دات نت مقید سازی میشود – به عنوان مثا
پنج شنبه 1388/4/11 21:10
از دو متد برای ایجاد کردن صفحات استفاده می‌کند: 1- کد درون خط In-line code 2- کد پشت صفحه code behind کد دورن خط کدی است که مستقیما داخل صفحه ASPX قرار داده شده است. در حالی که کد پشت صفحه به آن دسته از کدهایی گفته میشود که درون یک کلاس فایل دیگر قرار دارند. این کار باعث میشود تا کدهای HTML از منطق برنامه به زیبایی تفکیک شوند. زمانی که ما از ویژوال استودیو دات نت برای ایجاد وب فرمهای ASP.NET استفاده میکنیم، به طور پیش فرض از متد کد پشت صفحه استفاده میشود. علاوه بر این،ویژوال استودیو دات نت به طور خودکار زمانی که پروژه خود را میسازیم یا اصطلاحا build میکنیم، آن را پیش کامپایل
پنج شنبه 1388/4/11 21:9
در این مقاله قصد داریم تا راههای متعددی را برای مقابله با مشکلات و نقاط ضعف کوکی‌ها مورد بررسی قرار دهیم. مقدمه هرچند امنیت یک موضوع داغ روز است اما برنامه نویسان به کندی در حال یادگیری آن دسته از تکنیکهای برنامه نویسی هستند که بتوانند از برنامه‌هایشان در برابر تهدیدهای امنیتی محافظت کنند. اگرچه سالها پیش برنامه نویسی امن و حفاظتی یک موضوع لوکس و نه چندان کاربردی به نظر میرسید، امروزه با دگرگونی های رخ داده دیگر داشتن چنین دیدگاهی نمیتواند چندان مناسب باشد . با افزایش روزافزون تهدیدهایی که در جهان کامپیوتر پیش می‌آیند،ما برنامه نویسان میبایست در حین توسعه برنامه و
پنج شنبه 1388/4/11 21:7
دانستن چرخه حیات یک صفحه در asp.net برای بسیاری از توسعه دهندگان امری است ضروری.چرا که این بسیار مهم است که کدهای مورد نظر ما در کدام مرحله از این چرخه انجام شوند و همچنین این که اصولا عملکرد صفحه در شرایط مختلف به چه شکل است. در این مقاله صرفا قصد داریم تا این چرخه را به صورت ساده و گویا برای شما بیان کنیم شاید ساده ترین شکل بیان ترتیب رخدادهای ممکن چنین باشد: 1. Page Request 2. Start 3. Page Initialization 4. Load 5. Validation 6. Postback event handling 7. Rendering 8. Unload ابتدا بیاییم برای هرکدام از این بخشها یک مخفف معرفی کنیم. البته این نکته را هم در نظر
پنج شنبه 1388/4/11 20:59
شما میتوانید از کنترلهای Repeater, DataList, DataGrid, GridView برای نمایش داده به صورت جدول استفاده کنید. همواره سعی کنید سریعترین و کوچکترین کنترل را برای نیازهایتان انتخاب کنید. برای انتخاب یک کنترل مناسب ابتدا باید نیازهای خود را مشخص کنید: اگر به دنبال یک کنترل سریع و ساده میگردید از GridView استفاده کنید اگر به دنبال یک کنترل سبک وزن و فقط خواندنی میگردید از Repeater استفاده کنید اگر به دنبال یک کنترل سریع و سبک وزن میگردید از Repeater یا DataList استفاده کنید اگر به دنبال کنترلی میگردید که بتوانید آن را به شکل الگوی صفحه خود در آورید از Repeater یا DataList استف
پنج شنبه 1388/4/11 20:56
با استفاده از application state می توان اشیاء سراسری ( global ) را با هدف دستیابی توسط هر یک از سرویس گیرندگان ذخیره کرد . عملکرد application state بر اساس کلاس System.Web.HttpApplicationState می باشد که بطور پیش فرض از طریق شی از قبل تعبیه شده Application در تمامی صفحات قابل استفاده است . طرز کار application state مشابه session state است و از اشیائی با نوع های مشابه ، نگهداری اطلاعات در سمت سرویس دهنده و گرامر مبتنی بر دیکشنری استفاده می نماید . استفاده از یک شمارنده سراسری به منظور نگهداری تعداد دفعاتی که یک عملیات خاص توسط تمامی سرویس گیرندگان یک برنامه وب انجام می شود ، یک نمونه
پنج شنبه 1388/4/11 20:50
Timeout یکی دیگر از تنظیمات مهم در ارتباط با session state ، مشخص کردن مدت زمان timeout است . مقدار در نظر گرفته شده برای خصلت فوق ( تعریف شده در فایل web.config ) ، مدت زمان انتظار ASP.NET قبل از حذف session را مشخص می کند ( عدم دریافت هیچگونه درخواست در بازه زمانی مشخص شده ) . در نمونه کد زیر به ASP.NET اعلام شده است که اگر پس از گذشت 20 دقیقه درخواستی از سرویس گیرنده دریافت نگردید ، session آن را حذف کن .    <sessionState timeout="20" /> خصلت فوق یکی از مهمترین پارامترهای مدیریت session در برنامه های وب است که عدم مقداردهی مناسب آن می تو
پنج شنبه 1388/4/11 20:48
در این بخش با نحوه ایمن سازی اطلاعات ذخیره شده در view state آشنا خواهیم شد . اطلاعات view state در یک رشته درهم آمیخته مشابه زیر ذخیره می گردد .   <input type="hidden" name="__VIEWSTATE" value="/wEPDwUKMTUyMzMyNzc3NGRklXVE/6qqfC5AWkr1Yw0Xu5IpHg0=" /> به موازات اضافه کردن اطلاعات بیشتر به view state ، طول این رشته طولانی تر خواهد شد . با توجه به این که مقدار ذخیره شده در رشته فوق به صورت متن شفاف نمی باشد ، بسیاری از برنامه نویسان ASP.NET بر این باور هستند که داده ذخیره شده در view state به صورت رمز شده است .ولی واقعیت
پنج شنبه 1388/4/11 20:36
اینترنت و مهمترین سرویس آن وب علاوه بر این که حیات بشری را در هزاره سوم دستخوش تحولات فراوانی کرده است ، توانسته است منشاء تحولات گسترده ای در سایر حوزه های فناوری گردد . در واقع ، تحول در زندگی بشریت  مدیون پیشرفت در سایر حوزه های فناوری‌ است . یکی از این حوزه ها ، صنعت نرم افزار است . برای آشنائی با این تحول بد نیست مروری سریع داشته باشیم به گذشته وب و نرم افزار تا از این رهگذر بتوانیم ضرورت ایجاد فناورهای جدیدی نظیر Ajax ( برگرفته شده از Asynchronous JavaScript And XML ) را بهتر درک کنیم . مروری بر وب ، نرم افزار و تاثیر متقابل آنها بر یکدیگر مو
پنج شنبه 1388/4/11 20:31
XML یک فرمت استاندارد برای ذخیره سازی داده است که امروزه از آن در اکثر سایت ها به منظور مدیریت محتوا استفاده می گردد . اغلب سایت ها از XML برای ذخیره سازی داده و از XSL و سایر StyleSheets برای نمایش داده استفاده می نمایند. فایل های XML را می توان نظیر صفحات وب ایستا از سرویس دهنده وب درخواست و پس از ارسال، محتویات آنان توسط مرورگر نمایش داده می شود . با استفاده از HTTP handlers می توان امکان مشاهده مستقیم اینگونه فایل ها از طریق مرورگر را غیرممکن نمود . HTTP handlers ، دارای انعطاف لازم به منظور برخورد با فایل های متفاوت با توجه به نوع انشعاب آنان می باشد . با استفاده از پتانسیل فوق
پنج شنبه 1388/4/11 20:31
X