Doloto


Doloto is an AJAX application optimization tool, especially useful for large and complex Web 2.0 applications that contain a lot of code, such as Bing Maps, Hotmail, etc. Doloto analyzes AJAX application workloads and automatically performs code splitting of existing large Web 2.0 applications. After being processed by Doloto, an application will initially transfer only the portion of code necessary for application initialization.
to download and find more visit
http://msdn.microsoft.com/en-us/devlabs/ee423534.aspx

تعليقات

Session timeout notifcation - cont.

After writing previous post I figured that this message style work fine with normal page post back but when it comes for using asp.net ajax controls this functionality does not work until a real page post back happens   so you I figured that we need a special operation that update time status every time an ASP.Net Ajax happens so we need to add following code inside our page (Master page of-course  after script manager control)

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(Request_End);
function Request_End(sender, args)
{
//$.unblockUI();
clearTimeout(mainTimer);
clearTimeout(subTimer);
mainTimer = setTimeout(”SessionTimeoutMessage(sessionTimeOut, limit)”, (sessionTimeOut - limit) * 1000);

}

Code explaination:

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(Request_End);

get a reference of the page request manager and add to page end request event a custom function. for more details about this object you can visit following link:

http://www.asp.net/AJAX/Documentation/Live/ClientReference/Sys.WebForms/PageRequestManagerClass/default.aspx

inside our method we clear old timer and then call our old friend that trigger session counter to run from the beginning again and again on every AJAX call

Tip & Trick: MasterPage Problems with JavaScript files

 When we Develop web application in all times almost we use sub folders fro different section or modules depends on our architecture and in other hand we use master page to make consistence feel and look for our web site but in this situation we not facing any problem but the problem became when  we want to include JavaScript file in regular way ex:

 

 <script src=”js/Main.js” type=”text/javascript” language=”javascript”></script>

 

we well see that this script works fine in  root folder pages but when we move to pages that contained in sub folder it will run JavaScript exception because file not exist so called scripts not found.  so to solve this problem we just need to simple tweek in out master page code either in Init event or or Load event with following code:

 

Page.ClientScript.RegisterClientScriptInclude(”MyScript”, Request.ApplicationPath + “/js/Main.js”);

 

 Request.ApplicationPath: return web application virtual root  path on the server

 

Thanks Hope this Tip useful and helpful.

 

 

 

تعليقات

منع أي هجوم من نوع Automated / Dictionary Login دون إستخدام تقنية CAPTCHA

مقدمة

ان انوع الهجوم هذه من الأمرو التي يفكر بها جيمع المبرمجين وتقني الـ IT وحيث ابتكرت هناك العديد من التقنيات ومن هذه التقنيات هي CAPTCHA ةهي عبارة عن صورة يتم إنشاءها عند الطلب تحتوي على مجموعة رموز من أحرف وأرقام والتي يستطيع فهمها فقط الإنسان ويتم إدخال هذه القيم داخل مربع نصي بشكل يدوي والتي تساعد على منع اي محاولة أليه للدخول إلى الموقع. ولكن لهذه التنقنية سيئات حيث من صعوبة تطبيقها أو التكلفة التي تحتاجها من اجل انتاج الصور وغير ذلك يتم زيادة التعقيد على المستخدم الذي يريد إدخال حقل جديد غير بياناته الشخصية للدخول.

خلفية عن الموضوع

هنا تأتي فكرة المشكلة والتي سنقوم بحلها هنا والتي تمتاز بسهولة التطبيق واقل تكلفة حيث لا نحتاج إلى انتاج اي صورة ولا تحتاج إلى إدخال خاص من قبل المستخدم أو قراءة وطبعا الكمال لله وحده :)، وهنا ظهرت فكر لدي لماذا لا نقوم بإنشاء رقم معرف للمربع النصي بشكل عشوائي كل مرة بتم إستدعاء الصفحة ويمكن الرجوع له بشكل مشفر حيث انه يتم في العادة الهجوم على الموقع على حقل ذو اسم ثابت ومحدد لنفرض مثلا لدينا في الصفحة ملرع نصي اسمه x ومربع اخر اسم y فإنه عند ارسال البيانات إلى الخادم يتم ارسالها بنفس الاسم والتعامل معها كذلك وبهذا الشكل تعمل برامج الاقتحام وبذلك قمت بعمل الفكرة الموضحة في القسم التالي.
Read the rest of this entry »

تعليقات

ما هو Gloabl Theme ضمن الـ ASP.Net

كثيرا ما نقوم بتصميم ونود ان نستخدمه ضمن المواقع الخاصة بالشركة على سبيل المثال لتأخذ نفس التصميم ومفس النمط ولكن باستخدام الطريقة التقليدية بوضع مجلد الـ Them ضمن كل تطبيق على حدى عمل غير فعال ومهدر لمصادر النظام في وحالتنا هذه فهنالك طريقة وفرتها لنا الـ Dot Net وتقوم على أساس الخطوات التالية: 1. نقوم بإنشاء مجلد تحت iisdefaultroot/aspnet_client/system_web/version/Themes فعلى سبيل المثال ان المجلد الرئيسي للـ IIS هو C\Intpub\wwwroot وإصدار الـ >Dot Net هو 2.0.507.27 وبذلك يكون موقع مجلد الـ Themes كما يلي: C:\Intpub\wwwroot\aspnet_client\system_web\2_0_507_27\Themes

عند استخدم الـ Global Theme مع نظام الملفات فيجب وضع مجلد الـ Theme في الموقع التالي %windows%\Microsoft.NET\Framework\\ASP.NETClientFiles\Thems

2- بعد إنشاء مجلد الـ Themes نقوم بإنشاء مجدل داخلي نسميه باسم الـ Theme الخاص بنا.

3- وداخل هذا المجلد نقوم بإضافة باقي مكونات الـ Theme سواء من صور او Css أو Skin files.

4- بعد ذلك في كل صفحة نود تطبيق الـتصميم عليها نقوم بإضافة الرمز الخاص بـ Theme أو الـ ThemeStyleSheet ضمن معرف الصفحة @ Page.

ملاحظة
في الغالب الـ Visual Web Developer لا يدعم التعامل مع الـ Global Theme فيمكن إنشاءه باستخدامه ونقل التصميم إلى المجلد المخصص له ولمشاهدة التصميم عن طريق نشر الموقع ضمن الـ IIS.

تعليقات