PDA

View Full Version : سوال: کش کرد فایل های جاوا اسکریپت و Css



sadeghi@1890
یک شنبه 26 مهر 1388, 18:33 عصر
من میخوام فایل های جاواسکریپت و Css هام رو کش کنم
کسی میتونه کمکم کنه؟

Chabok
یک شنبه 26 مهر 1388, 19:31 عصر
با سلام

توسط این هندلر میتوانید این کار رو انجام بدید .

http://www.codeproject.com/KB/aspnet/HttpCombine.aspx

عملکرد آن بدین صورت است که :
چند فایل را در وب کانفیگ به عنوان یک مجموعه CSS و یا JS معرفی می کنید و از آدرس این فایل همراه با پارامترهای مربوطه ، بجای مسیرهای CSS , JS خود استفاده می کنید .

این هندلر تمامی این فایل ها رو تحت عنوان یک فایل ارسال میکنه و همچنین از Cache نیز استفاده می کند .

موفق باشید .

sadeghi@1890
یک شنبه 26 مهر 1388, 20:44 عصر
ممنون از کمکتون.
من با یک مشکلی مواجه شدم.
پروژه من با Vb.net این لینکی که معرفی کردید با C#‎‎
من این کدهارو با یک سایت تبدیل به کد Vb کردم ولی این خط رو مشکل میگیره
این کد اصل برنامست
string setName = request["s"] ?? string.Empty;

این کدی که من تبدیلش کردم از if مشکل میگیره
Dim setName As String = If(request("s"), String.Empty)

sadeghi@1890
یک شنبه 26 مهر 1388, 21:17 عصر
من تو هر صفحه حدوده 10 12 تا فایل جاوا دارم اگه بخواد هر دفعه که کاربر صفحه رو باز کنه و این فایل ها بخواد از سرور منتقل بشه هزینه زیادی میبره.
ایا من در این مورد اشتباه فکر میکنم؟

sadeghi@1890
یک شنبه 26 مهر 1388, 21:41 عصر
به نظر منم مرورگرها همین کارو انجام میدن ولی تا چند ساعت یا چند روز؟

شما تصور کن مثلا روزی تو 20 تا سایت میری هر کدومشونم کلی عکسو فایل جاوا و css دارن .

آیا مرورگر همه اون عکسا و.... رو نگه میداره ؟

Chabok
دوشنبه 27 مهر 1388, 01:10 صبح
با سلام


string setName = request["s"] ?? string.Empty;
معادل این کد در VB همچین چیزی میشه :


Dim setName As String = string.Empty
If Not String.IsNullOrEmpty(request("s")) Then
setName = request("s")
End If


یک توضیح در رابطه با مزیت این روش :
اگر شما برای مثال 2 فایل JS و سه فایل CSS داشته باشید برای دانلود هر کدام مرورگر باید طی یک درخواست HTTP آن ها را دانلود کند که این امر هزینه بر است .

در صورتیکه در این روش تمامی فایل های هم جنس تحت یک فایل ارسال می شوند .

و نکته دیگر هم که در بالا فراموش شد ذکر کنم اعمال فشرده سازی gzip روی خروجی در صورت پشتیبانی مرورگر می باشد .

موفق باشید .

sadeghi@1890
سه شنبه 28 مهر 1388, 11:17 صبح
ممنون دوست عزیز اگه لطف کنید و این کد رو هم تبدیل کنید ممنون میشم

using (Stream writer = isCompressed ?
(Stream)(new GZipStream(memoryStream, CompressionMode.Compress)) :
memoryStream)