Exception Message Box

29 בנובמבר 2011

  מי לא כתב את הקוד הבא:   try {   } catch (Exception ex) {     MessageBox.Show(ex.Message); } ובכלל הצגת הודעות באפליקציות חלונאיות תתבצע הרבה פעמים בעזרת MessageBox.     מתברר (משהו יחסית ישן) שהחברה של sql server פתחו MessageBox משלהם - בטח ראיתם מתי שהוא את החלון הבא: (אם עבדתם עם Sql Server Managment Studio)       לחלון הזה יש כמה פיצ'רים מאוד נחמדים, ראשית הוא נראה הרבה יותר טוב מה - MessageBox הסטנדרטי, בנוסף יש בתחתית החלון אפשרות להעתקת הודעת השגיאה ולחצן נוסף להצגת הפרטים הנוספים:       כדי שתוכלו להשתמש בזה באפליקציות שלכם תצטרכו להוסיף reference ל: Microsoft.NetEnterpriseServers.ExceptionMessageBox (חפשו אותו תחת תיקיית ההתקנה של sql (אצלי הוא יושב ב - C:\Program Files\Microsoft SQL Server\90\Tools\Publishing\1.4)   בגרסאות קודמות של...
תגיות: , , ,
6 תגובות

הפעלת Linq Queries על פקדים המכילים Collections ללא חשיפה של IEnumerable מתאים

25 בנובמבר 2011

  אחד מהיכולות החזקות של השפה שאנחנו משתמשים בהם רבות זהו היכולת להפעיל Linq to Objects על כל מי שמממש את:IEnumerable<T>     ב - windows forms ישנם הרבה פקדים המכילים collections - כמו TabControl, TreeView ועוד.   הבעייה עם כל הפקדים הללו שהם חושפים את IEnumerable הרגיל, (ללא T) מה שגורם לכך שאי אפשר להפעיל עליהם שאילתות לינק.     כדי לתקן זאת ניתן להוסיף Extension Method מתאים לכל פקד ולהמיר את ה - IEnumerable  לאחד שתומך ב - Generic, לדוגמא:   internal static class Extension {     internal static IEnumerable<TabPage> AsEnumerator(this TabControl.TabPageCollection collection)     {         foreach (TabPage item in collection)         {             yield return item;         }     }      ...
2 תגובות

Visual Studio 2010 Icons

24 בנובמבר 2011

  הרבה פעמים אנחנו מפתחים אפליקציות קטנות (או גדולות) ואנחנו מחפשים אייקונים נכונים לתפריטים.   מצאתי שתחת הנתיב: C:\Program Files\Microsoft Visual Studio 10.0\Common7\VS2010ImageLibrary\1033 יש את רוב האייקונים ש - visual studio משתמש בהם,   כל מה שצריך לעשות הוא לחלץ את התייקיה ונקבל את רשימת התיקיות הבאות:   _Common Elements Actions Animations Annotations_Buttons Objects בתיקיות אלו יש מגוון גדול של האייקונים בגדלים ובפורמטים שונים.   תהנו.
תגיות: ,
2 תגובות

דוגמא בסיסית לכתיבה ל – azure blob

22 בנובמבר 2011

  חבר ביקש שאכתוב לו דוגמה בסיסית לכתיבה וקריאה ל - azure.     ראשית כמובן יהיה לנו פרוייקט azure כלשהו (Web Role, Worker Role)    לאחר מכן נוכל לכתוב את הקוד הבא:     var storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("DataConnectionString"));   CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); CloudBlobContainer blobContainer = blobClient.GetContainerReference("CONTAINER_NAME"); blobContainer.CreateIfNotExist();     CloudBlob blob = blobContainer.GetBlobReference("URI or FILE_NAME");     השורה הראשונה נותנת לנו גישה לחשבון המתאים.   (חשוב כמובן להגדיר במאפיינים של פרוייקט ה - azure ולהוסיף את ה - DataConnectionString, (זה נמצא תחת תיקיית Roles במאפיינים של הפרוייקט המתאים בטאב Settings) עבור מצב Loacl יכול להיות מוגדר עם UseDevelopmentStorage=true עבור cload צריך לכתוב את הנתיב המלא, יראה משהו כמו:   DefaultEndpointsProtocol=http;AccountName=ACCOUNT_NAME;AccountKey=ACCOUNT_KEY   את הערך עבור AccountKey ניתן למצוא באתר הניהול של azure )     לאחר מכן נקבל הפנייה ל -...
תגיות: ,
אין תגובות

עצלנות של מפתחים ואבטחת מידע – והפעם שימוש ב – reflector

17 בנובמבר 2011

  בפוסט הקודם תיארתי כיצד לעקוף את הבדיקה של טלריק האם המוצר נקנה או שהוא גרסת ניסיון - על הדרך הבטחתי לספר איך להשתמש ב - reflector.   אמנם פוסט זה לא כל כך קשור לאבטחת מידע (או לעצלות של מפתחים) אבל הוא דומה לפוסט הקודם.   למי שלא מכיר את reflector   ה - reflector הוא אחד מהכלים המדהימים ביותר שיצאו אי פעם כדי לעזור למפתחים, לצערי הרב מתי שהוא הם החליטו לגבות כסף על התוכנה (35$ לגרסה הבסיסית ו - 95$ לגרסה המלאה).     כרגיל אני אדגיש שאני חלילה לא מעודד לגנוב אותם, אלא רק מראה עד כמה חשוב לכתוב קוד נכון.   במידה ויש לכם את הגרסה...
7 תגובות

עצלנות של מפתחים ואבטחת מידע – והפעם כיצד לעקוף את הבדיקה שטלריק עושים האם קניתם את המוצר

16 בנובמבר 2011

  בפוסט הקודם הראיתי עד כמה מפתחים לא חושבים מספיק על כל הנושא של אבטחת מידע.   היום אני אראה משהו דומה ונראה עד כמה מפתחים כותבים לפעמים בצורה מגוכחת.     אחד הכלים החשובים ביותר בכל סביבת פיתוח - היא הפקדים של טלריק, בכל סביבה שבה אני עובד (win form, web, wpf, silverlight) אני משתדל שיהיה לי את היכולת להשתמש בפקדים שלהם.   כמובן שהפקדים עולים כסף (ובכלל לא זול - בסביבות 1000$ עבור סביבה אחת - אבל זה שווה כל שקל), חשוב שיהיה ברור שאני לא מעודד לגנוב אותם חלילה - מטרתי בפוסט זה היא רק להראות עד כמה חשוב לכתוב קוד נכון.   בימים אלו יצא לי לראשונה להשתמש...
46 תגובות

דוגמאות בסיסיות לשימוש בשיטות השונות בגישה לבסיס נתונים

14 בנובמבר 2011

  קבלתי שאלה כיצד מתחברים לבסיס נתונים ב - net.   כמובן שהפתרון גדול מידי עבור מסגרת הזו, אבל בכל זאת אני אדגים כאן את הבסיס להתחברות בכל השיטות. חשוב לזכור שפוסט זה הינו דוגמא בסיסית ביותר לגישה בכל השיטות ולא לימוד מעמיק של כל אחת מהם.   (אני מתנצל מראש שהדוגמאות בפוסט זה הם ב - vb.net ולא ב - #C)   להורדת הדוגמאות בפוסט זה     הקדמה:  כדי לגשת לבסיס נתונים מ - net קיימים (בעיקר) שלוש דרכים.   הראשונה והבסיסית היא כמובן ado.net.   השנייה היא גישה בעזרת dataset, typed dataset.   והשלישית היא orm כשהשיטות העיקריות הם nhibernate, entity framework.     ado.net: ado.net היא השיטה הבסיסית שכל השיטות מאחורי הקלעים עובדים איתה, מדובר על פתיחת...
תגובה אחת

עצלנות של מפתחים ואבטחת מידע

12 בנובמבר 2011

  קיימים הרבה גורמים לבעיות באבטחת מידע אבל אחד מהגורמים העיקריים לבעיות אלו זה אנחנו - המפתחים - לפעמים אנחנו לא מודעים (או מתעצלים להיות מודעים) לכתיבה של קוד נכון שיהיה מאובטח לפחות ברמה מינימלית.   חבר הראה לי משחק טריוויה באתר נענע בשם "לעוף על המליון" - אני לא משחק במחשקי מחשב בכלל, אבל כשהוא הראה לי את המשחק ה - Fiddler היה פתוח (אני מאוד מקווה שאתם מכירים את הכלי הזה - אחרת רוצו ללמוד אותו).   בכל מקרה, הצצתי על הפידלר ולתדהמתי אני רואה שבכל פעם שיש שאלה חדשה נשלח כמובן Request עם בקשה לשאלה חדשה, והנה ה - Response       אני מקווה שאתם...
17 תגובות

מה לעשות כששימוש עם UrlRoutingHandler לא עובדת תחת IIS

10 בנובמבר 2011

  בעבר כתבתי על היכולת לייצר מנגנון URL Shortcut בשימוש עם UrlRoutingHandler.   לפעמים הקוד במחלקה עובד רק כשעובדים עם השרת הפנימי של visual studio, אבל כשעוברים לעבוד מול IIS, הקוד מפסיק לעבוד.     נקח לדוגמא את הקוד הבא:     public class RoutingHandler : UrlRoutingHandler, IRouteHandler {     public string Url { get; set; }       protected override void VerifyAndProcessRequest(IHttpHandler httpHandler, HttpContextBase httpContext)     {             httpContext.Response.Redirect(Url);     }       public IHttpHandler GetHttpHandler(RequestContext requestContext)     {         return this;     } }   הקוד הזה יאפשר לנו להשתמש במנגנון ה - Routing גם באפליקציות asp.net web forms עבור קבצי html.   לדוגמא נוכל לכתוב ב - application start את הקוד הבא:   RouteTable.Routes.Add("login",         new Route("login",            ...
תגיות: , ,
אין תגובות