System.ArgumentNullException: Key cannot be null. Membership.UpdateUser

30 בנובמבר 2009

  במידה וירשתם מ - MembershipProvider ומ - Membership יש סיכוי טוב מאוד שכשתנסו להפעיל את מתודת Membership.UpdateUser תקבלו שגיאה System.ArgumentNullException: Key cannot be null     זה קצת מוזר כי גם אם הגדרתם בקונפיג את ה - defaultProvider למימוש שלכם זה עדיין יקרה, מכיון של - Membership יש שני בנאים הראשון מוגדר כ - protected והוא לא מקבל שום פרמטרים, השני מוגדר כ - public ומקבל כל מיני פרמטרים שאחד מהם הוא ה - providerName.   ברגע שהפעלתם את הבנאי ללא שום פרמטר הוא לא יודע לאיזה provider ללכת ולכן הוא נופל בקטע קוד הזה   internal virtual void Update() {     Membership.Providers.UpdateUser(this);     this.UpdateSelf(); }   כשהוא מנסה לגשת בעזרת...
תגיות: , , ,
אין תגובות

Send E-mail from javascript using web service – XMLHTTP (in JSON)

25 בנובמבר 2009

  בהמשך ל - Web Service -> JSON -> JavaScript. קל פשוט ונהדר ו - שליחה של Complex Type ו - Array ל - Web Service בפורמט JSON   רציתי להראות שימוש נחמד בדבר הזה.   אפשר להוריד את הפרויקט - מכאן.   סיפור לקוח: הוא מוציא עבודה לגרפיקאים שמחזירים לו דפי html ו - css שהוא משלב באתר שלו - באותם טפסים יש הרבה פעמים שליחה של מיילים - הוא לא רוצה לקחת את מה שהוא מקבל מהגרפיקאים ולהמיר את זה ל - asp.net, הוא רוצה להשתמש בהם כמו שהוא קיבל - והכי הרבה הוא מוכן לכתוב פונקציית JS שתאסוף את הנתונים מהדף ותשלח אותם...

שליחה של Complex Type ו – Array ל – Web Service בפורמט JSON

23 בנובמבר 2009

  בהמשך לפוסט Web Service -> JSON -> JavaScript. קל פשוט ונהדר אני מדגים שם איך לפנות ל - WebSerive ולקבל את התשובות בפורמט JSON,   בפוסט הנוכחי אני אדגים איך פונים ל - WebService שמצפה לקבל טיפוס שהוא לא מה - Primitive Types.   נניח שיש WebService שנראה כך: (לא לשכוח להוריד את ההערה מ - ScriptService - אחרת אי אפשר להפעיל מ - JS)   public class WebService1 : WebService {           public void SetPerson(Person person)     {         // Do Logic.....     } }   public class Person {     public int Id { get; set; }     public string Name { get; set; }     public string Childern...
אין תגובות

יצירת מנגנון shortcut url באמצעות מנגנון ה – routing של asp.net

21 בנובמבר 2009

  יחד עם ה - MVC הגיע dll מאוד נחמד ששמו System.Web.Routing, הוא משמש מנגנון מאוד מרכזי ב - MVC כדי להפנות לדף המתאים לפי הבקשה . היות שהוא כל כך מוצלח ניתן להשתמש בו גם ב - asp.net לצרכים אחרים.   (חשוב לציין שיכול שמן הסתם רוב הלינקים בפוסט לא יעבדו - אלא הם הדגמה למה אפשר לעשות)   לדוגמא - אפשר להשתמש בו כדי לייצר מנגנון של Shortcut url - כלומר במקום שיצטרכו לכתוב http://www.sela.co.il/syl/syllabus.aspx?CourseCode=c2&CategoryID=165 אפשר לכתוב http://www.sela.co.il/url/syllabus/c2   או אפילו אפשר לייצר קיצורי דרך לאתרים שהם לא בדומיין שלנו - לדוגמא במקום להגיע לבלוג שלי עם הלינק http://blogs.microsoft.co.il/blogs/shlomo/ אפשר להגיע אליו דרך http://www.sela.co.il/url/shlomo   אז כמובן שמן הסתם תהיה מערכת ניהול ויש לנו...
6 תגובות

הגדרה של FormBorderStyle עבור טפסים שהם MDI

17 בנובמבר 2009

  בתפוז עלתה השאלה הבאה:   יש טופס אב ויוצרים בזמן ריצה מופעים של טפסי בן ומוספים אותם לאב - במקרה שהמאפיין FormBorderStyle מוגדר כ - none על טופס הבן, מה שיקרה בפועל שלשנייה אחת יראו את המסגרת ואז זה יעלם - השאלה כיצד מתפטרים מהמסגרת לתמיד.   נניח שהקוד נראה ככה:   private void button1_Click(object sender, EventArgs e){    Form2 f = new Form2();    f.MdiParent = this;    f.Show();}   למעשה הבעייה נובעת מכך ש - windows מציירת כל הזמן את כל הפקדים שעל המסך - ולכן הדרך היחידה לא לראות את המסגרת היא להגיד למערכת ההפעלה להפסיק לצייר את הטופס עד שהכל יסתדר במקום.   כדי לעשות את זה נוכל...
2 תגובות

Entity Framework – Part 5

  אז בפרק האחרון דברנו על מה ה - designer עושה מאחורי הקלעים עבור הסכמה שלנו, אפשר להאריך בנושא הסכמה עוד הרבה, אבל חשבתי שכדאי קצת לראות קוד ואיך לעבוד עם ה - EF ואחרי זה נסבך קצת את הסכמה.   היות שבסיס הנתונים שלנו כרגע ריק - אנחנו נכתוב קוד שיכניס בו נתונים ונדון בכמה נושאים.   כדי לעבוד עם EF אנחנו חייבים לייצר מופע של מחלקה שיורשת מ - ObjectContext במקרה שלנו EFLabEntities,   using (EFLabEntities context = new EFLabEntities()){  }   במקרה שלנו יהיה חכם לעשות את זה עם using כי אנחנו רוצים לייצר את ה - context להוסיף לו אובייקטים לשמור לבסיס הנתונים, וזהו. בחיים האמיתיים יתכן...
תגיות: , , ,
9 תגובות

System.Data.SqlClient.SqlException: Login failed for user 'IIS APPPOOL\DefaultAppPool'.

9 בנובמבר 2009

  אם נתקלתם בהודעה כזאת או בדומה לה ב - windows 7 - בזמן נסיון גישה לבסיס נתונים.   תצטרכו לעשות את התהליך הבא: (למעשה אחרי חיפוש בגוגל הגעתי לכאן שהפנה אותי לכאן - אבל היות שזה כתוב בשפה מוזרה שאני לא מצליח אפילו להבין מה זה לדוגמא "เป็นปัญหาที่ผมพบเจอใน Windows 7 เผื่อใครเจอจะได้ลองเอาไปใช้กัน" אם אתם מכירים את השפה - אשמח לשמוע מה זה)   בכל מקרה הנה התהליך.   פתחו את ה - IIS (אפשר לכתוב בשורת הפקודה inetmgr)   נווטו ל - Application Pools.   בחרו ב - DefaultAppPool (או באותו אחד שמריץ את האפליקצייה שלכם)   לחצו על Advanced Settings.         בחלון המאפיינים שנפתח בחרו במאפיין Identity (תחת Process Model)       בחלון שנפתח תשנו...
תגיות: , , ,
9 תגובות

System.UnauthorizedAccessException: Access to the path is denied.

  כתבתי אפליקציית web פשוטה וניסתי לייצר קובץ מתוך הקוד בשרת - הקובץ כבר היה קיים בתיקייה ורציתי לדרוס אותו - כתבתי קוד כזה (לא בדיוק כזה אבל אותו רעיון)   File.CreateText(Request.MapPath("a.txt"));   כשהרצתי את הקוד בשרת קבלתי שגיאת חוסר הרשאות - חיפוש מהיר בגוגל גיליתי שאני צריך לתת הרשאות של modify ל - user שמריץ את האפליקצייה (network services) ניסיתי - לא עבד. נתתי לו FullControl - לא עבד.   ניסיתי להוסיף את כל ההרשאות שבעולם לכל המשתמשים שקיימים על המחשב של השרת - ואני כל הזמן מקבל שגיאה של הרשאות.     בסוף גיליתי את הבעייה.   מסתבר שהדרך הפשוטה ביותר להעלות אפליקציית asp.net לשרת היא להעתיק את כל התיקייה...
תגיות: , , , ,
3 תגובות

Open command window here

5 בנובמבר 2009

  היום ישבתי עם עדי (ראש צוות הכי טוב שהכרתי) והוא אומר לי תפתח command line, התכוונתי להפעיל את שורת הפקודה לכתוב cmd ולנווט לתיקייה המתאימה.   ואז עדי אומר לי "תלחץ על shift באמצע התיקייה ותן קליק ימין בעכבר" - עשיתי זאת, ואז אני רואה את הדבר הבא     אז נכון שזה קיים כבר מויסטה - אבל אני קפצתי ישר מ - XP. חשבתי שאולי זה יכול להביא תועלת לאחרים.
תגיות: , ,
6 תגובות

Entity Framework – Part 4

4 בנובמבר 2009

  בפרק הקודם ראינו את ה - xml שנוצר מאחורי הקלעים והבנו מה המשמעות של האלמנטים ואיך הוא מקשר בין המבנה של בסיס הנתונים לבין מבנה האובייקטים.   בפרק הנוכחי נראה את הקוד שמתחולל כתוצאה מהמודל.   תזכורת: יש לנו ישות אחת שנראת כך:   כשפתחנו את קובץ ה - edmx ב - xml editor ראינו שהוא למעשה קובץ xml. לקובץ הזה יש קובץ נוסף שנקרא Model.Designer.cs - כשנפתח אותו נראה הרבה קוד - ונסביר אותו.   החלק הראשון הוא מחלקה שיורשת מ - ObjectContext   public partial class EFLabEntities : ObjectContext {     public EFLabEntities() :             base("name=EFLabEntities", "EFLabEntities")     {         this.OnContextCreated();     }       partial void OnContextCreated();       public ObjectQuery<User> Users     {        ...
תגיות: , , ,
3 תגובות