บทความ

กำลังแสดงโพสต์จาก กุมภาพันธ์, 2019

วิธีสั่งให้ HttpClient ยิงหา API Https ที่ Cert เป็นสีแดง (Ignore Certificate Validation)

รูปภาพ
เวลาที่เราเรียกใช้ class HttpClient เพื่อยิง Request ไปหา API ที่เป็น HTTPS แต่ตัว API ของเรา มี Cert เป็นสีแดง หรือเป็น self-cert ซึงตัวโค้ตตรวจสอบความน่าเชื่อถือไม่ได้ ก็มีวิธีนี้ในการที่จะ Ignore Cert  หรือ ง่ายๆคือ ไม่ไม่สนใจว่า Cert ของ API จะเป็นเขียว หรือจะเป็นแดง  // โค้ตก็ตามตัวอย่างข้างล่างเลยครับ บรรทัด ที่บอกว่า  ServicePointManager.ServerCertificateValidationCallback   เราก็ Overide ด้วย delegate function ให้ Return true เสมอ เพียงเท่านี้ทุกครั้งที่มีการเรียก API Https ที่ Cert เป็นสีแดง ก็จะผ่านเสมอครับ ตัวอย่างโค้ต           ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };             ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;  ซึ่งวิธีนี้ก็ถ้าไม่จำเป็นก็ไม่แนะนำนะ ควรจะขอ Cert API มาแอดเข้าไปไว้ในโปรเจคดีกว่า Ref : https://...

แก้ไขปัญหา JsonConvert แล้ว TimeZone เพี้ยน

รูปภาพ
เมื่อเราใช้คำสั่ง JsonConvert.DeserializeObject เพื่อจะ Convert Json String แล้ว Convert ไปเป็น Object มีเรื่อง TimeZone เข้ามาเกี่ยวข้อง อย่างเคสที่ผมเจอคือเลือกเวลาในหน้าเว็บเป็นวันที่ 18 แต่พอ Convert กลับมา ในโปรแกรมนั้นได้เป็นวันที่ 19 เพื่อดูจากข้อมูลก็พอบว่า สิ่งที่ผิดปกติคือ เวลามันถูกบวกไป 7 ชั่วโมง (ซึ่งตอนนั้นเวลาในเครื่องผม เป็น 19:46) นั้นแสดงว่า หน้าเว็บเราส่งเวลามาเป็น UTC+7 แล้ว แต่โปรแกรมเรา เอามา +7 ไปอีกรอบนึง ทำให้มันข้ามไปเป็นวันถัดไป วิธีแก้ก็คือ เราจะกำหนด Setting ในการ Convert โดยบอกว่า ค่าที่รับเข้ามา เป็น UTC +7 อยู่แล้ว ไม่ต้องทำการบวกเพิ่ม โดยมีการเขียนโค้ต 2 วิธีคือ 1. กำหนด Setting เข้าไปใน Method นั้นเลยทุกครั้งที่มีการ Convert 2. กำหนดเป็น DefaultSetting ที่  Global.asaxวิธีแก้ก็คือ เพียงเท่านี้ ตัวโปรแกรมเราก็จะมองว่า Time ที่ส่งเขามานั้นเป็น UTC แล้ว และไม่ต้องทำการ Convert เพิ่ม Ref :  https://www.newtonsoft.com/json/help/html/DefaultSettings.htm

Create Function Helper in View ASP MVC

รูปภาพ
สวัสดีครับ วันนี้ผมก็จะมาแนะนำวิธีการเขียน function สำหรับ ซ่อนหรือแสดง แถบ เมนู ใน Html View กันนะครับ โดยผมจะใช้ Razor Syntax ในการเขียนนะครับ ซึ่งก็เป็น Syntax ที่เราต้องใช้เขียนกับไฟล์ .cshtml ของ ASP.NET MVC ครับ บ่อยครั้งที่เราอาจจะจำเป็นต้องเขียน logic บางอย่างไว้ใน view ยกตัวอย่างเช่น การเขียนเงื่อนไข ซ่อน/แสดง เมนูบางเมนู ผมจะขอยกตัวอย่างโค้ตฝั่ง PHP แบบง่ายๆก่อนนะครับ โจทย์ก็คือ ให้เราซ่อนปุ่ม Button1 ไม่ให้แสดงผลที่หน้าจอ เราก็จะเขียนประมาณนี้ หรือ จะให้มีเงื่อนไขเพิ่มขึ้น และ ใช้หลายๆที่หน่อย ก็ต้องสร้างเก็บไว้เป็น function แบบนี้ ครับผม และ นั้นก็เป็นตัวอย่างโค้ตของ PHP  โดยตัว PHP ก็จะ ถ้าเป็นฝั่งของ ASP.NET เราก็จะเขียนให้อยู่ในรูปแบบของ Razor Syntax ครับ โดยเราจะใส่ @helper แล้วตามด้วย ชื่อ function และ parameter ตามในรูป ส่วนวิธีเรียกใช้เราก็จะใส่ @function เข้าไปแบบนี้ครับ ref : https://weblogs.asp.net/hajan/functions-inside-page-using-razor-view-engine-asp-net-mvc