Browse by Tags
All Tags »
DEV (
RSS)
נניח שיש לכם את המחלקה הבאה: class Dolar { public double Value { get ; set ; } public Dolar( double value) { Value = value; } } וב - main Dolar d1 = new Dolar (10); Dolar d2 = new Dolar (20); if (d1.Value > d2.Value) { } לכאורה הקוד היה יותר קריא לו יכולנו לכתוב כך if (d1 > d2) { } כדי לעשות את זה צריך להוסיף למחלקה את הקוד הבא public static bool operator >( Dolar d1, Dolar d2) { return d1.Value > d2.Value; } public static bool operator <( Dolar d1, Dolar d2) { return d1.Value <...
הקרדיט מגיע לאחי יוסי גולדברג כתבתי פוסטים על שימוש ב - Cookie . כעת נראה כיצד ניתן להסיר עוגיות בצד השרת. נניח שיש לכם עוגייה שנקראת MyCookie ואתם רוצים להסיר אותה, למעשה בכל Request שיגיע מהלקוח ה - Cookie יצטרף לבקשה, מה שצריך לעשות זה לכתוב את הקוד הבא Response.Cookies.Add( new HttpCookie ( "myCookie" ) { Expires = DateTime .Now.AddDays(-1) }); למעשה מצרפים ל - Response עוגייה עם אותו שם כשתאריך התפוגה נקבע לזמן ישן, כך כשהתשובה חוזרת ללקוח העוגייה נמחקת. אם כבר מדברים על - Expires...
ב - IIS ל - ApplicationPool יש מאפיין מאוד מעניין שהרבה לא מודעים אליו. Regular Time Interval תחת קטגוריית recycling. כברירת מחדל הערך שלו זה 1740 (29 שעות) המשמעות של זה שכל 29 שעות ולא משנה מה קורה באותו רגע יש restart ל - application pool, לפעמים יש לזה משמעות קריטית לזמן שבו יש restart (אם למשל אתם עושים streaming ופתאום האפליקצייה שלכם עושה restart זה לא נעים. אני לא חושב שכדאי להגדיר אותו ל 0 (כלומר לא לעשות אף פעם restart) אבל חשוב להכיר את המאפיין הזה ולבטל אותו בשעת הצורך. אם זה אפשרי אפשר...
ב - WebService כדי לדעת מה ה - IP של ה - client שהפעיל את המתודה אנחנו כותבים: HttpContext .Current.Request.UserHostAddress; כדי לדעת את זה ב - WCF צריך לכתוב את הקוד הבא: var context = OperationContext .Current; var prop = ( RemoteEndpointMessageProperty ) context.IncomingMessageProperties[ RemoteEndpointMessageProperty .Name]; string ip = prop.Address;
כתבתי כמה פוסטים על הפעלה של WebService מתוך JavScript ומקבלים תוצאות ב - JSON. זה עובד מעולה בתוך אותו דומיין. כלומר אם אני גולש ל - http://www.MyDomain.co.il/App/MyPage.aspx ובתוך הדף יש JavaScript שמנסה לגשת ל - WebService בכתובת http://www.MyDomain.co.il/Services/Person.asmx הכל יעבוד כמו שצריך. אבל אם ה - JavaScript ינסה להגיע ל - Service בדומיין אחר http://www.OtherDomain.co.il/Services/Person.asmx אחת דינו של הקריאה להכשל ולהציג הודעת שגיאה (או אזהרה) של חוסר הרשאות Microsoft JScript runtime...
אלכס (ממשיך להפתיע מידי פעם) כתב מאקרו שימושי ל - Visual Studio. ( וגיא דואג שיהיה לי על מה לכתוב) ------------ כשאנחנו סוגרים את Visual Studio נוכל להתחרט ולעצור את תהליך הסגירה רק במידה ויש לנו קובץ פתוח שלא נשמר - והסביבה תוודא האם אנחנו רוצים לשמור את הקובץ או לבטל את היציאה. מאוד רצוי שהסביבה תוודא שאנחנו אכן רוצים לסגור את ה - Visual Studio גם אם אין קובץ שלא נשמר (פתיחה מחדש יכולה לקחת כמה דקות מעצבנות בפרוייקטים מספיק גדולים) תחת Tools -> Macros -> Macros IDE או All + F11 נלחץ פעמיים...
הפוסט הזה הוא באדיבות מיטל (חברה טובה ומתכנתת מאוד מוכשרת) אם יש לכם Crystal Report שמכיל פרמטרים ו - SubReports ותכתבו קוד כמו זה report.SetDataSource(RevenueReceipt()); report.SetParameterValue( "barcode" , "123456" ); report.Subreports[ "Sub.rpt" ].SetDataSource(SubDetails()); report.ExportToStream( ExportFormatType .PortableDocFormat); תקבלו הודעת שגיאה כזאת: CrystalDecisions.CrystalReports.Engine.ParameterFieldCurrentValueException was unhandled by user code Message...
אני ממליץ לצפות בכל 22 הסרטונים שגיא פרסם . (על asp.net 4.0) מאחד הפיצ'רים שהודגמו שם ממש התלהבתי - מדובר על האפשרות לתת עיצוב ל - disabled controls בצורה די אוטומטית. נניח שיש לנו את קוד ה - html הבא < asp : TextBox ID ="txt" runat ="server"></ asp : TextBox > < asp : Button ID ="btnEnable" Text ="Enable" runat ="server" onclick ="btnEnable_Click" /> < asp : Button ID ="btnDisable" Text ="Disable"...
נניח שרוצים לקשר בין TreeView לבין קובץ xml נקח לדוגמא את קובץ שערי המטבעות מבנק ישראל (שאפשר גם לעבוד איתו מקוד ) ונרצה להציג אותו ב - Tree כשנכתוב קוד כזה < asp : TreeView ID ="TreeView1" runat ="server" DataSourceID ="XmlDataSource1"> </ asp : TreeView > < asp : XmlDataSource ID ="XmlDataSource1" runat ="server" DataFile ="~/currency.xml"></ asp : XmlDataSource > נקבל תוצאה כזאת כלומר נקבל את המבנה ולא את המידע...
לאחרונה בשיטוטים שלי מצאתי dll שיש לו יכולות מדהימות של השמעת טקסט (והקלטה) צריך להוסיף reference ל - System.Speech שימו לב לקוד הבא: string textToSpeak = Console .ReadLine(); SpeechSynthesizer ss = new SpeechSynthesizer (); ss.Speak(textToSpeak); ומהרמקולים של המחשב נשמע את הטקסט שהמשתמש הקליד. למחלקה הזאת יש המון יכולות. החל משליטה על העוצמה והמהירות, האפשרות להחליט להיכן ינותב הפלט (האם לרמקול או לקובץ wav) אפשר לקבל events מה הסטטוס של השמעת הטקסט, בעזרת רישום לאירוע SpeakProgress (ויש עוד כמה...
כל Console Application שאנחנו כותבים נראה כך: static void Main( string [] args) { } הפוסט הזה ידבר על "מה זה ה - args שאנחנו רואים ואיך שולחים פרמטרים לשם ואיך ניתן לגשת לפרמטרים ממתודות אחרות (בלי לשלוח את ה - aegs כפרמטר)." הרבה תוכניות מסוג Console כשהן עולות צריכות לקבל מהמשתמש ארגומנטים כדי לדעת מה לעשות (בדרך כלל שם הפקודה בתוספת ? / תציג את כל האפשרויות. לדוגמא - אני מניח שכולם מכירים את הפקודה dir שמציגה רשימת קבצים ותיקיות - אם נכתוב dir /? נקבל את כל האפשרויות להפעלה - לדוגמא...
אני מניח שיצא לכם לכתבו קוד כזה < asp : DropDownList ID ="ddl" runat ="server"> < asp : ListItem Text ="Select Item"></ asp : ListItem > </ asp : DropDownList > ואם רציתם לקשר רשימה כלשהי בצד השרת IEnumerable < int > list = Enumerable .Range(0, 10); ddl.DataSource = list; ddl.DataBind(); הבעייה בקוד הזה שזה מוחק את ה - Select Item והבעייה הגדולה בדרך כלל במקרה הזה שאם נרשמתם לאירוע של SelectIndexChanged כדי לבחור את הראשון תצטרכו קודם לבחור...
בתפוז עלתה שאלה, איך ניתן לקרוא מידע מקובץ קונפיג חיצוני (כלומר - לא הקונפיג של ה - exe שמריץ את התוכנית) הנה דוגמא string path = @"bin\Debug\ConsoleApplication1.exe" ; Configuration config = ConfigurationManager .OpenExeConfiguration(path); var a = config.AppSettings.Settings[ "MyKey" ].Value; ה - path הינו לקובץ ה - exe האחר שיש לו קונפיג. כדי שזה יעבוד צריך להוסיף referenct ל - System.Configuration
מה קורה כשאתם עובדים בסביבת X64 ואתם מריצים פונקציות מ - dll חיצוני ואתם מקבלים את השגיאה (או משהו בסגנון) is not a valid Win32 application. (Exception from HRESULT: 0x800700C1) זה קורה בדרך כלל שאותו dll חיצוני מפעיל native code והוא לא יודע לרוץ בסביבת X64. מה שאני עושה זה משהו כזה (טיפה עקום אבל הפיתרון הכי פשוט ומהיר) כותב אפליקצייה Console Application נפרדת שתפעיל את אותם פונקציות - ומקמפל אותה ב - X86. כעת באפליקצייה שלי (שחייבת כאמור לרוץ ב - X64) אני כותב כך: var process = System.Diagnostics...
כשרוצים לרוץ בלולואה על כל ה - האפשרויות ב - enum כלשהו, בדרך כלל רואים קוד כזה string [] names = Enum .GetNames( typeof ( MyEnum )); foreach ( string item in names) { MyEnum myEnum = ( MyEnum ) Enum .Parse( typeof ( MyEnum ), item); // logic... } מה שעשיתי היה לקבל את כל מה שיש ב - enum כמערך של מחרוזות ואז בלולאה להמיר כל אחד ממנו למופע של ה - enum. כדי לא לכתוב את הקוד (המכוער) כל הזמן אני מעדיך לכתוב כך: MyEnum [] names = typeof ( MyEnum ).GetNames< MyEnum >(); foreach ( MyEnum item in...
More Posts
Next page »