Category dotnet

[.NET] ตรวจสอบ ปัญหา Assembly Loading xxxxx ด้วย Tools Fuslogvw.exe

ฺช่วงนี้เป็นช่วยการเติมเต็ม Blog ครับ พอดีเป็นคนเอาไปแชร์ แต่ดันลืมดูว่าเนื้อหาแหว่งไปเยอะ 55 ผมเลยเอามา Re-Write ใหม่ในปี 2017 (ของเดิมปี 2015) เพราะ เขียนใหม่เกือบหมด 555 ตอนนั้นเหมือนมืนๆ ไป เข้าเนื้อหากันเลยดีกว่าครับ Fusion Log (Fuslog) คือ อะไร โปรแกรม Fuslog มันตัวช่วยของ .NET ในกรณีลองเอาระบบไป Deploy แล้ว พบว่าหาไฟล์ที่นำไปติดตั้ง (Assembly) มีปัญหาขึ้นตอนเวลาเรียกใช้งาน (Runtime)  อาทิเช่น ไฟล์หาย, ไฟล์อยู่ผิด Path หรือ เวอร์ชั่นของไฟล์ไม่ตรงกัน เป็นต้นครับ…

[C#] How to Get property name from object

งานของผมใช้ Dapper แล้วปัญหามันมีอยู่ว่าตอนสร้าง predicate(เงื่อนไข) มันต้องเอาชื่อ Property ไป Where ทำให้มันมีความเสี่ยงมาก ถ้าแก้ชื่อ Property แล้ว Refactor ไม่ครบครับ ผมเลยทำ Helper มาเพื่อช่วยให้มันไป Get ชื่อ Property จากตัว Object ซะเลยครับ ได้มาเป็น Update 2019-05-23 จากแบบที่สอง เราสามารถใช้ nameof ได้เลยครับ ตัวอย่าง ตามนี้เลย แถม Code สั้นกระชับด้วย สำหรับถ้าใครอยากอ่าน Step การ Research ของผม…

[C#] ลองใช้ Log4Net มาเก็บบันทึกของ Console App กัน

หลังจากสร้าง draft ทิ้งไว้นานมาแล้ว วันนี้มาลองรื้อบทความเก่าๆมาเขียนให้เสร็จครับ สำหรับ Blog ตอนนีเป็นการลองใช้ Log4Net กับ console app ครับ เอาหละมาลุยกันเลยครับ เตรียมตัว & ติดตั้ง สร้าง new project แบบ console app ติดตั้ง Apache log4net จากตัว nuget คลิกขวาที่ Project >> Manage Nuget Package >> Search “Nuget” >> Install ครับ สร้าง Configuration…

[C#] มาใช้ HtmlAgilityPack ดึงข้อมูลจากเว็บ

ตอนที่ผมเขียน Blog น่าจะเป็นช่วงปลายปี 2016 นะครับ พอดีวันนี้เหลือเวลาอีก 2-3 ชั่วโมงจะเลิกงาน ผมเลยลองทำ Project ง่ายๆ ดูครับ โดยดึงข้อมูลจากเว็บ เกี่ยวกับข้อมูลพื้นฐานของหุ้นนะครับ ก่อนที่จะทำ สิ่งที่ตต้องทำลอง Research Library ดูก่อนครับ ว่ามีอะไรช่วยได้ไหม เท่าที่ดูมี Library ที่เหมาะสม ดังนี้ครับ HtmlAgilityPack สามารถ Download มาจาก Nuget ได้เลยครับ ถึงเวลาเริ่มทำ ต้องไปส่องเว็บก่อน ว่าเราดึงข้อมูลอะไร ลองดู Code ของ HTML ที่ได้ ลอง View…

[C#] Guidelines for Exception Handling

หลังจากเขียน Code ในการทำงานมาหลายปี พอดีเจอบทความนึงที่น่าสนใจ ผมเลยทำความเข้าใจ และสรุป เกี่ยวกับ Exception ดังนี้ครับ Exception คือ อะไร ? Exception คือ การแจ้งข้อมูลข้อผิดพลาดที่เกิดขึ้น จากการทำงานของระบบครับ มันมีกลุ่มที่เราสามารถจัดการเองได้ ใช้ Try Catch เข้าช่วย หรือจัดการไม่ได้เลยพวกกลุ่ม Error Guidelines for Exception Handling – Catch only the exceptions that you can handle. เวลาเขียน Code ใน…

[.NET] แก้ปัญหา No EditorOptionDefinition Export Found Error ของตัว Visual Studio

หลังจากโดน Microsoft ให้ Update windows 10 anniversary update version 1607  ไปนะครับ สิ่งที่ผมเจอปัญหา คือ ตอนนี้เรามาสนใจที่ตัว Visual Studio ก่อน สำหรับปัญหาที่ผมเจอเป็นตามรูปเลยครับ ส่วนหนทางแก้ไข ลองทำตามดูเลยครับ ปัญหานี้ ผมเกิดกับตัว Visual Studio 2013 นะครับ แต่ส่วนตัวเริ่มอยากขยับไปใช้ Visual Studio 2015 เหมือนกัน แต่ขอ Format คอมก่อนนะครับ ตัว Visual Studio เวลามันลงชอบมีอะไรพ่วงมาเลยเอาออกยากกกกก  

[.NET] สรุปงาน DevRock #03 Rock Show

สำหรับงานนี้ ผมเพิ่งนึกว่ามีครั้งแรก 555 เพราะเข้ามาอยู่ในกลุ่ม Dev Rock Developer Group นานแล้ว (รู้สึกว่าชื่อเดิมเกี่ยวกับ ASP.NET MVC ครับ) ผมเพิ่งสังเกตุว่าตัว Event เพราะ เพื่อนใน FB หลายคนกด Like ไว้ใน Facebook ไว้นะครับ สำหรับงานครั้งนี้จัดเป็นครั้งที่ 3 และ โดยครั้งนี้จัดที่มหาวิทยาลัยหอการค้า คณะวิทยาศาสตร์ และเทคโนโลยี อาคาร 7 ชั้น 3 ครับ แต่วันนี้งานเริ่ม Late ไปนิดนึงนะครับ เนื่องจากฝนตกครับ โดยตัวงานเริ่มประมาณช่วง 09:30…

[.Net] ลอง Share Pattern Parallel.ForEach ที่ผมใช้ครับ

จาก Blog ตอนที่แล้ว เรื่อง [.Net] มาทำให้ Parallel.ForEach Debug ง่ายกันเถอะ มาวันนี้ผมขอ Share Pattern ที่ได้ลองใช้ Parallel.ForEach เจ็บมาเยอะครับ เดี๋ยวผมลองแปะโครง Code แล้วมาอธิบายทีละจุดครับ ลองอ่านตาม Comment ได้ครับ จาก Comment ผมมีใช้คำสั่งหลายตัวเลย ได้แก่ ลองนำไปปรับใช้กันดูได้นะครับ ^___^

[.Net] มาทำให้ Parallel.ForEach Debug ง่ายกันเถอะ

หลังจากหายไปพักนึง หลังากลองตบตีกพวก Thread มาสักพักใหญ่แล้ว วันนี้ขอประเดิม Blog เลยและกันครับ สำหรับตัว Microsoft .Net Framework ถ้าใครใ้ตั้งแต่ 4.0 เป็นต้นไป มันมีชุดคำสั่งสำหรับทำงานแบบ Parallel ด้วยครับ ซึ่งหนึ่งในนั้น คือ Parallel.ForEach นั้นเองครับ แล้ว Parallel.ForEach คือ อะไร มันเหมือน ForEach แหละ แต่ต่างกันที่ ForEach ทำคนเดียว แต่ Parallel.ForEach ช่วยกันทำครับ มันก็ดีช่วงกันทำนี่ แล้วมันมีปัญหาอะไร ก็ตอนมี Bug ไงครับ ยิ่งเป็น Runtime Exception แล้ว จับได้ยากครับ เพราะ Parallel.ForEach…

[.NET] ประกาศให้โลกรู้ว่า Method นี้ Class นั้น ตกยุคแล้ว !!!

จาก Code เล็กๆ เมื่อวันเวลาผ่านไป มันก็เติบโตขึ้น ผ่านการตัดต่อพันธุกรรมมาอย่างโชกโชน พร้อมกับภาระหน้าที่อันยิ่งใหญ่ แต่บาง Class บาง Method มันไม่ตอบโจทย์ทางธุรกิจแล้ว มันควรจะถูกกำจัดไปซะ แต่ Code มันบางส่วนมันใช้อยู่ เราจะทำอย่างไร เพื่อให้ทีม Develop ที่พัฒนาด้วยกัน เปลี่ยนไปเรียกใช้ Class หรือ Method ใหม่แทน !!! ทางแรก เราอาจจะประกาสแจ้งให้ในทีมทราบ แต่บางครั้งอาจจะมีหลงลืมบ้าง เพื่อป้องกันปัญหาระยะยาวทำแบบ Java ดีกว่า ตัว Java มันมีบอกว่า Code ส่วนไหนที่เลิกใช้ (deprecated) ไปแล้วครับ โดยในตัว .Net…