|
بسیاری از برنامه نویسان وب برای پیاده سازی Ajax از کنترل های مایکروسافت استفاده می کنند
حتما با این کنترل ها و خصوصا ScriptManneger و UpdatePanel آشنایی دارید همونطور که می دونید وظیفه کنترل ScriptMannager تزریق فایل های جاوا اسکریپتی مورد نظر Ajax به صفحه است و با توجه به عمل مورد نظر و نیازمندی های آن چندین فایل جاوا اسکریپت را به صفحه تزریق می کند. تعداد این فایل های جاوااسکریپتی زمانی زیاد خواهد شد که شما از کنترل های Ajax Control Toolkit نیز استفاده می کنید و بنا به Extender ای که استفاده می کنید کنترل ScriptMannager فایل های جاوا اسکریپت مورد نیاز Extender را نیز به صفحه اضافه خواهد کرد. در این حالت به ازای هر کدام از این فایل های تزریق شونده به صفحه یک درخواست به سرور فرستاده خواهد شد و هرچه تعداد این فایل ها بیشتر باشد زمان لود بیشتر خواهد شد و صفحه دیرتر نمایش داده می شود به طور مثال چنانچه از Ajax Control Toolkit و کنترل CalenderExtender به همراه ScriptMannager در صفحه استفاده نمائیم 11 فایل جاوا اسکریپت به صفحه تزریق خواهند شد که این عدد فقط مربوط به استفاده از همین دو کنترل می باشد. راه حل درست استفاده از تکنیک Script Combining می باشد که در آن به جای مثلا لود 11 فایل جاوا اسکریپتی، فایل های مورد نظر را با هم ترکیب نموده و نهایتا یک فایل به صفحه تزریق شود. راه های مختلفی برای پیاده سازی آن وجود دارد که از جمله می توان یک httpHandler سفارشی نوشت و نام فایل های جاوا اسکریپت مورد نظر را به آن ارسال نمود و فایل های مورد نظر را پس از یکی نمودن در سمت سرور (و کش کردن در صورت نیاز) به صفحه تزریق نمود. اما در Microsoft Ajax و از DotNet 3.5 sp1 به بعد این امکان در کنترل ScriptMannager بوجود آمد که شما می توانید Script های خود را به این کنترل معرفی نموده و این کنترل عمل Combining (یکی نمودن اسکریپت ها) را برای شما انجام دهد. به این صورت =>
برای اضافه کردن اسکریپت های معمولی که در فلدر های سایت موجود هستند به راحتی عمل Combining انجام پذیر می باشد اما از کجا بدانیم ScriptMannager و بطور مثال Ajax Control Tollkit ها چه اسکریپت هایی را به صفحه تزریق می کنند؟ ScriptReferenceProfiler به شما کمک می کند تا بتوانید متوجه بشوید که در حین کار با Microsoft Ajax از چه اسکریپت هایی در صفحه استفاده می شود. سپس می توانید اسکریپت های مورد نظر را به روشی که در بالا دیدید توسط ScriptMannager یکی کنید. کافیست از صفحه رسمی ASP.NET در سایت Codeplex کنترل ScriptReferenceProfiler را دانلود نمائید و سپس با اضافه نمودن این کنترل به Tollbox آنرا به صفحه خود اضافه نمائید. در مثالی که ذکر شد و 11 فایل جاوا اسکریپت به صفحه تزریق شدند، خروجی ScriptReferenceProfiler به صورت زیر می باشد =>
حال به راحتی می توان با استفاده از اطلاعاتی که ScriptReferenceProfiler در اختیار ما قرار می دهد عمل Combining را توسط SciptMannager انجام دهیم، به عبارت دیگر عین ScriptReference هایی را که ScriptReferenceProfiler نشان می دهد را در قسمت Scripts کنترل ScriptMannager بنویسید=>
نوشته شده توسط مجتبی صحرائی در سه شنبه بیست و دوم آذر ۱۳۹۰ و ساعت 17:57 |


صفحه نخست