PDA

View Full Version : سوال: dll فشرده سازی مقاله آقای راد ساخته نمیشه



mahsa.n
شنبه 18 دی 1389, 09:32 صبح
سلام من مقاله اصل مهم - فشرده سازی صفحات وب در ASP.NET 2.0 رو مطالعه کردم

کدهارو با C# نوشتم و نیم اسپیس رو using Microsoft.CSharp; قرار دادم و از کامپایلر csc استفاده کردم ولی

dll ساخته نمیشه و هیچ اروری هم نمیگیره لطفا راهنمایی کنید

یاسر مددیان
شنبه 18 دی 1389, 10:26 صبح
این کد رو توی global.asax بذار کار فشرده سازی رو انجام میده



void Application_PreRequestHandlerExecute(object sender, EventArgs e)
{
HttpApplication app = sender as HttpApplication;
string acceptEncoding = app.Request.Headers["Accept-Encoding"];
Stream prevUncompressedStream = app.Response.Filter;
if (!(app.Context.CurrentHandler is Page) ||
app.Request["HTTP_X_MICROSOFTAJAX"] != null)
return;
if (acceptEncoding == null || acceptEncoding.Length == 0)
return;
acceptEncoding = acceptEncoding.ToLower();
if (acceptEncoding.Contains("deflate") || acceptEncoding == "*")
{
// defalte
app.Response.Filter = new DeflateStream(prevUncompressedStream,
CompressionMode.Compress);
app.Response.AppendHeader("Content-Encoding", "deflate");
}
else if (acceptEncoding.Contains("gzip"))
{
// gzip
app.Response.Filter = new GZipStream(prevUncompressedStream,
CompressionMode.Compress);
app.Response.AppendHeader("Content-Encoding", "gzip");
}
}

یاسر مددیان
شنبه 18 دی 1389, 10:36 صبح
از اساتید محترم می خوام بپرسم که این کد از نظر امنیتی مشکل نداره؟

mahsa.n
شنبه 18 دی 1389, 11:19 صبح
ممنونم
یه صفحه دارم حجمش 540k بود با این کد شد 449k
بقیه صفحاتم که بین 100 تا 200 بودن بین 10 تا 20 کیلو کم شدن
یه صفحه هم دارم که قبل از فشرده سازی 150k بود بعد از فشرده سازی شد 151.3!!!!!!

mehrdad201
شنبه 18 دی 1389, 11:36 صبح
به محتوای صفحه شما هم بستگی داره. البته کد استاد راد مشکلی نداره. سورسهای دیگه ای هم هستند برای این کار. با استفاه از httpmodule و 3 4 خط کد و یک خط کد در web.conifig

البته مرورگر باید gzip یا deflate رو ساپورت کنه. فایرفاکس هر دو رو ساپورت میکنه. به عنوان نمونه من سایتی ساختم که در حالت دیفالت حجم صفحات 60 کیلوبایت هست و با استفاده از httpmodule compression حجمشون به 12 کیلوبایت رسیده. البته فقط در مرورگر فایرفاکس. در IE مطمئن نیستم عمل کرده باشه. (وقتی پراپرتیز میگیرم همون 60 کیلوبایت رو نشون میده)

شما حتی الامکان سعی کن از تصاویر و فشل و .... کمتر استفاده کنی. کدهای جاوا اسکریپتت رو بهینه کن. view state ها رو دقت کن چطوری استفاده میکنی. از trace استفاده کن تا ببینی چه ابجکتهایی view state های سنگین دارند.

اون حجم صفحه برای اینترنتی مثل ایران زیاده و سنگین

موفق باشی مهسا خانم

mahsa.n
شنبه 18 دی 1389, 13:24 عصر
4 تا سوال دارم

1-چه طوری از trade استفاده کنم؟

2-یه صفحه دارم که توش یه slide show که با jquery ساخته شده دارم من این صفحمو هم با html و هم با aspx ساختم و در aspx سشن و viewstate رو غیر فعال کردم
در aspx حجم صفحه 3کیلو از html کمتره !!!! چرا؟

3-حجم استاندارد صفحه چه قدر باید باشه؟

4-من قالب سایتم رو گذاشتم تو master page. این کار اشتباه نیست؟

mehrdad201
شنبه 18 دی 1389, 13:55 عصر
مهسا خانم من اولا عذر خواهی میکنم. واژه trade اشتباه بود. واژه trace درست هست. برای فعال کردن هم کافیه قسمت بالای سورس aspx. عبارت trace=true رو قرار بدید. هر صفحه ای که میخواید trace روش فعال بشه باید این کار رو انجام بدید.

فراموش نکنید موقع پابلیش کردن سایت حتما این ویژگی رو false کنید

در مورد اسلاید شو که فرمودید راستش دقیق نمیدونم چرا !!

حجم صفحه استاندارد عدد ثابتی نیست. مهم اینه که شما اهداف مورد نظر خودتون در صفحه رو در بهینه ترین حالت پیاده سازی کنید. البته فراموش نکنید که یک صفحه باید اهداف منطقی داشته باشه. یعنی نباید انتظار داشته باشید یه صفحه رو پر از عکس و تصویر کنید و بخواید با تکنیکهای فشرده سازی حجم صفحه رو پایین بیارید.

در مورد قالب سایت در مستر پیج راستش من متوجه منظور شما نشدم. لطفا بیشتر توضیح بدید. (من در زمینه قالب ضعیفم راستش)

mahsa.n
شنبه 18 دی 1389, 14:39 عصر
قالب سایتم یعنی منو و رنگ و تصاویر پس زمینه و ... که برای همه صفحاتم مشابه هست رو گذاشتم تو master pagr

mehrdad201
شنبه 18 دی 1389, 15:16 عصر
خب تا حد امکان سعی کنید استایل ها رو در صفحات تعریف نکنید. تا حد امکان از حالت style="" استفاده نکنید چون کارایی رو پایین میاره

یک فایل css ایجاد کنید. کلاسها رو در اون تعریف کنید و فایل رو در مستر پیج اینکلود کنید.

mahsa.n
شنبه 18 دی 1389, 15:55 عصر
ممنونم:لبخندساده:

mahsa.n
دوشنبه 27 دی 1389, 14:27 عصر
یه سوال دیگه
من تو صفحم یه ckeditor گذاشتم که فقط ckeditor.js حجم 329 کیلو داره چی کار کنم که حجمش کم بشه؟

mehrdad201
دوشنبه 27 دی 1389, 16:04 عصر
مهسا خانم در مورد فایل js امکان فشرده سازی تا اونجا که من میدونم هست اما امکان بروز خطا در بروزرهای مختلف بخصوص IE وجود داره

یه سرچی بکنید ببینید ckeditor.js با ظرفیت کمتری وجود داره ؟ معمولا این جور فایلها 2 ورژن دارن که یکیش minimize شده هست. مثلا jquery.min.js

همچنین برنامه ها و سایتهایی هستند که حجم فایل js رو با حذف کردن کاراکترهای اضافه کم میکنند. این مورد هم میتونه موثر باشه