Tag c sharp

[C#] แนวทางแก้ปัญหา The incoming request has too many parameters. The server supports a maximum of 2100 parameters

.NET Core

น่าจะเป็นเรื่องที่ปวดหัวของ Developer ที่ต้องมาทำงาน DBMS ตระกูล Microsoft SQL Server ครับ เวลาส่ง IList เข้าไป Where ผ่าน ADO.NET / Dapper / EF จะเจอปัญหานี้เหมือนกันครับ NOTE: สำหรับตัว EF ทางผมไม่ได้ใช้งานเป็นหลักนะครับ แต่ลอง Search มาเหมือนมีหลายความเห็นบอกว่าเจอเรื่องนี้ หรือไม่เจอครับ sql – Entity Framework Hitting 2100 Parameter Limit – Stack Overflow 2100…

[C#] Attaching an event handler

.NET Core

Blog ตอนนี้ มาจากตอน Review Code แล้วผมพลาดครับ ลองดู Code ได้นะครับ จาก Code ด้านบน ผมจำผิดจริงๆ ผมมองว่า MyEvent_Handle1 ถูกแทนทีด้วย MyEvent_Handle2 เลยทวงตอน Review ไปว่า Logic ของ MyEvent_Handle1 จะหายไปครับ แต่มีโดนแย้งมา เลยมาลองทำ Snippet ลองดีกว่าครับ จริงด้วยครับ ทำงานทั้งคู่เลย เพราะมัน subscribe MyEvent_Handle1 และ MyEvent_Handle2 เรียบร้อยแล้วครับ ตาม ครับ ถ้าลองเกรียนๆ…

[C#] แก้ปัญหา Could not load file or assembly ‘System.ComponentModel.Annotations, Version=X.Y.0.0

C# Logo

ลองทำ Automate Test แล้วเอา json มา mock ข้อมูล พอ execute จริง Error ครับ ตรวจสอบ และแก้ไข – ตรวจสอบว่า Code Reference DLL เวอรชันเดียวกัน หรือ ไม่ ตรวจสอบว่า Solution และ Library ต่างๆที่ Reference มาใช้ System.ComponentModel.Annotations ส่วนตัวเคยเจอว่า Project Library ใช้ 5.0.0 และปรากฏว่า Main Project มา…

[C#] ทำไม Process มันผิดแค่เดือน 12 นะ

calendar dates paper schedule

เรื่องของเรื่องมีอยู่ว่า มี Module ที่เป็น VB6 อันนึง convert มาเป็น .NET มา 4 ปีและ แต่ลูกค้างอแงมาเรื่อยมา ขอว่าถ้าจะแลกต้องให้โน่นนั่นนี่ และจะทดสอบให้ทั้งๆที่มันดีกว่านะ ดึงมาได้ 4 ปีแหละ จนปีนี้เอาออกเลย สรุปทีลูกค้างอแงมาตลอด ไม่ได้ Test 555 แต่มันถูกไป 90% นะ แต่จะมีอยู่เคสนึงที่ตัว Process ถ้าเป็นเดือน 12 จะมีบางเคสที่เลยมันจะผิดเสมอ เลยลองไล่ๆดู มันเพราะอะไรนะ ? VB6 บวกลูกทุ่ง .NET ย้ายมาใช้ DateTime.AddMonth() แทน…

[C#] Dapper Error connection assigned to the command is in a pending local transaction. 

ช่วงนี้มีไปช่วยน้องในทีมแก้ปัญหาระบบซื้อขาย Bond โดยน้องเอา Service เดิมที่เคยทำไว้ในผูกกันเป็น Flow ใหม่ครับ แล้วทีนี้เจอ Error หลังจากลองไล่ดู Code พบว่าเป็นส่วนคำสั่งที่เรียก Dapper ให้มันช่วย Query ให้ เลยเพิ่มตัว Transaction ใส่ครอบเข้าไปครับ

[C#] Use-Case การใช้งาน Named Pipe เชื่อม VB6 กับ .NET

จาก blog 2 ตอนก่อนหน้า เพื่อนๆ น่าจะเข้าใจ Named Pipe คือ อะไร ? VB6 กับ .NET โดยใช้ Named Pipe ทำได้อย่างไร ใน Blog นีัขอแชร์ Use-Case จริง ที่ใช้งานครับ เพราะคงเอา Code มาแปะทั้งหมดไม่ได้ครับ เผื่อจะเป็น Idea ให้กับคนที่ต้องพัฒนาระบบงานเก่าๆ เอาไปใช้ได้ครับ โดยการพัฒนาของผมจะเป็น 2 Step ซึ่งมีอธิบายต่อไปครับ จุดที่ 1 @Client VB6 <->…

[C#] Named Pipe เชื่อม VB6 กับ .NET

จาก Blog ตอนที่แล้วที่ผมได้อธิบาย Named Pipe ไปว่า ได้ลองนำเทคนิคนี้มาใช้เพื่อแก้ปัญหาของ Legacy System ใน Blog นี้เป็นการขยายความเพิ่มเติม ทำไมใช้ Named Pipe เป็นเทคโนโลยีที่รองรับทั้ง VB6 และ .NET ไม่อยากไปพัฒนาโมดูลใหม่ๆบน VB6 แล้ว เพราะติดปัญหา Maintain ยาก ทำ Unit Test ไม่ได้ด้วย ไปกับเทคโนโลยีใหม่ๆยาก ไม่รองรับมาตรฐานความปลอดภัยใหม่ๆ VB6 ส่งไป .NET ติดปัญหาอะไรไหม ? ปัญหาภาษาไทย ตัว VB6 มันไม่รู้จัก…

[C#] Automate Control.InvokeRequired Code pattern

spaghetti code, DRY

Blog นี้จริงๆ แล้วเป็นการนำ Blog ที่เขียนค้างตอนปี 2014 (ช่วงที่อยู่กับ Project ที่ได้ แต่บ่น 555) มาเขียนต่อให้จบครับ แม้ว่าตอนนี้แนวทางการพัฒนาระบบเป็นแนว Web Application แล้ว แต่ยังมีงานบางส่วนที่ยังเป็น Desktop Application ครับ ปัญหา เวลาจัดการงานด้าน UI มักจะเจอปัญหาที่เจอประจำเลย InvalidOperationException Cross-thread operation not valid. Control accessed from a thread other than the thread it was…

[.NET] MSBUILD error MSB4236: The SDK ‘Microsoft.NET.Sdk’ specified could not be found.

C# Logo

เครื่อง Build Jenkins ของ .NET หลังจาก Build เสถียรมาได้พักใหญ่ๆ หลังย้าย Code มาใช้ Git แล้ว วันนี้มี Error จากเครื่อง Build แจ้งมา ดังรูปครับ พอเข้าไปดู Console Log ของ Jenkins ระบบแจ้ง Error มา ดังนี้ครับ “D:\01GITMAIN\DSApp-Dev.sln” (Clean target) (1) -> “D:\01GITMAIN\DS.Admin.UI\DS.Admin.UI-Dev.csproj” (Clean target) (101:5) -> “D:\01GITMAIN\DS.Admin.DTO\DS.Admin.DTO.Standard.csproj” (GetTargetFrameworks…

[.NET] DevExpress เมื่อ Export ข้อมูลใน Grid มาเป็นไฟล์ Excel คอมม่า ( , ) หาย และไม่แสดงเป็นตัวเลข

สำหรับปัญหานี้เป็นปัญหาที่ท้าทาย และหาข้อสาเหตุของปัญหายากมากครับ เนื่องจากที่บริษัทได้ Upgrade ตัว DevExpress แบบก้าวกระโดดครับ ของเดิมเวอร์ชัน 13.1 ชองใหม่เวอร์ชัน 20.2 ห่างกันตั้ง 7 เวอร์ชัน นอกจาก API ที่ถูกยกเลิก(Deprecate) แล้ว มันยังมี API ที่เพิ่มเติมเข้ามา ซึ่งมันไม่ได้บอกตอน Compile หรือตัว Tool ที่ Check Comparability ไม่สามารถตรวจสอบได้ครอบคลุมครับจึงเป็นที่มาของปัญหา เมื่อ Export ข้อมูลใน Grid มาเป็นไฟล์ Excel คอมม่า ( , ) หาย…