ASP.NET 4: מה מצאתי שם יעיל

21 באפריל 2010

אין תגובות

יש הרבה הרבה חומר על –ASP.net 4, וחלקו הרבה יותר מוצלח מכל מה שאכתוב עליו. פה אני אסקור דברים ש"תפסו אותי" ונראים לי מעניינים.
לא מדובר בחקירה מעמיקה של התחום אלא סתם באוסף נקודות, אבל בסדר 🙂

OutputCache

כמו שכולנו יודעים, אחת היכולות המסייעות במיוחד לבנות מערכות שעמידות בעומסים כבדים, היא OutputCache.
בהרצאה שהעברתי לפני שנים מספר הדגמתי כיצד ניתן להשתמש בכלי החזק הזה, וכיצד גם להציג תוכן דינאמי ופרסונלי תוך שימוש ב-OutputCache בשרת ואפילו תוך שימוש ב-Reverse Proxy או CDN.

הרעיון הבסיסי הוא היכולת להרחיב ולכתוב מנגנון Caching חדש, שלא המנגנון המובנה ששומר את הדפים בזיכרון. אפשר למשל לשמור את המידע הזה ב-memcached  הפופולארי בעולם או AppFarbic Caching שהיה מכונה עד לא מזמן Velocity.

 <%@ OutputCache Duration="60" VaryByParam="None" providerName="DiskCache" %>

אני דווקא חושב שיהיה חכם לפעמים לשמור את המידע הזה דווקא במערכת הקבצים, ועדיף על דיסק קשיח ייעודי.

 

Prearm

בנוסף, היכולת של IIS לבצע Prearm (לא ספציפית ASP.net 4), מאפשרת "הכנת" ה-Cache עוד לפני קבלת הבקשה הראשונה. כך למשל בסביבת חוות שרתים ניתן למלא את ה-Cache בצורה מסודרת כדי למנוע איטיות בפעולת האתר עד שכל רכיביו יאוחסנו ב-Cache.

httpRuntime

הפינה הזו ב-Web.Config מקבלת כמה אפשרויות נוספות.

maxRequestPathLength – אורך התיקיות ושם הקובץ

http://www.site/Folder/SubFolder/FileName.aspx?query=1235&56g

אני מנחש שיש לדבר קשר לשימושים השונים של Routing ו-MVC.

maxQueryStringLength – אורך ה-QueryString

המגבלה המקורית (2048) מבוססת על המגבלה של IE ביגרסאות קודמות. אם יש לכם צורך, ניתן להגדיל (או – עדיף! להקטין) את המגבלה הזו.

requestPathInvalidChars – תווים לא חוקיים בשדות טופס. ניתן לשנות ולהוסיף תווים נוספים. לשים לב ש-IIS (מדוייק יותר, http.sys) דוחה בכל מקרה בקשות עם תווים מסויימים שאינחם חוקיים לפי RFC 2396.

RequestValidatorType

לראשונה ניתנת האפשרות להחליף את בודק ה-XSS המקורי, ולבנות אחד חדש במקומו שיסנן דברים אחרים או יסנן קצת פחות.

רק לחשוב קצת, יש לזה הרבה שימושים מדליקים.

 

jQuery נכלל בתבניות הבסיסיות של אתרים ב-Visual Studio

אפשרות לדרוס את מימוש הדפדפנים המקורי של ASP.net, במימוש משלך (קריטי לפעמים בשימוש ב-CDN).

<%: Item%>

מבצע קידוד אוטומאטי (HttpUtility.HtmlEncode(Item, והופך את הקוד לקצת יותר יפה.

 

יש עוד הרבה דברים חדשים שם, אבל בחרתי להתמקד בעיקר במה שרלוונטי לדברים שאני עוסק בהם.

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *