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

จาก blog 2 ตอนก่อนหน้า เพื่อนๆ น่าจะเข้าใจ
ใน Blog นีัขอแชร์ Use-Case จริง ที่ใช้งานครับ เพราะคงเอา Code มาแปะทั้งหมดไม่ได้ครับ เผื่อจะเป็น Idea ให้กับคนที่ต้องพัฒนาระบบงานเก่าๆ เอาไปใช้ได้ครับ โดยการพัฒนาของผมจะเป็น 2 Step ซึ่งมีอธิบายต่อไปครับ

จุดที่ 1 @Client VB6 .NET
- เอา .NET มาช่วยลดการพัฒนาระบบ โดยใช้ VB6 และนำเอา Named Pipe มาเป็น Protocol ในการสื่อสารระหว่าง VB6 กับ .NET ครับ และมีการวาง Core Logic ซึ่งประกอบไปด้วย Business Logic (Service) / Data Access / DTO ให้สามารถ Reuse ได้)
- เมื่อทำ Step นี้เสร็จ เราจะได้ Business Logic บางส่วนบน .NET แล้ว แต่จะติดปัญหาอยู่ เพราะ มันจะไม่สามารถทำงานที่ Long Task ได้ เพราะ Pipe เอามีข้อจำกัด เรื่อง Timeout ตรงนี้ ผมแก้ปัญหา — เมื่อมีการส่งงานแล้ว ให้ Pipe Server ส่ง KEY ID กลับไปก่อน ส่วนงานที่ใช้เวลา Execute นาน ยกให้เป้นภาระของ .NET ไป
- เมื่องานส่วน .NET เสร็จสิ้นให้ Pipe ส่ง KEY ID กลับไปของ VB6 ให้มาเอาของที่ทำเสร็จแล้ว อาจจะทดไว้ใน Database เอาไปใช้งานต่อได้ครับ
- หลายคนอาจจะส่งสัย ทำไมไม่แยก App Server ออกมาเลย ณ ตอนที่ทำจุดที่ 1 App Server ยังเป็น AIX อยู่ครับ .NET Core ยังใช้งานได้ไม่สมบูรณ์
จุดที่ 2 เพิ่ม App Server (.NET Core : WEB API)
- เนื่องจากลูกค้าบาง Site เปลี่ยนเครื่อง Server จาก AIX > RedHat 8 ทำให้เอา Container มาใช้งานได้แล้ว
- ตอนนี้เลยแบ่งงานที่ทำไว้ใน Pipe Server มาส่งต่อให้ WEB API จัดการต่อได้ครับ โดยตอนนี้หน้าที่ของ Pipe Server — จากเดิมที่ทำงานด้าน Business Logic อย่างเดียว
- ตอนนี้ทำหน้าที่เป้น Gateway ส่งต่องานให้กับ App Server (WEB API) ตรงนี้เวลาใช้ .NET มาคุยช่วยปิดปัญหา Security ด้วย เพราะ ถ้าเอา VB6 มาขอ Token ตรงๆ น่าจะยากครับ
- จุดสังเกตุอย่างนึง Core Logic ที่ทำระหว่างที่ใช้ Pipe Server แก้ขัดไปยังเอามา Reuse ได้ครับ
- อนาคต ถ้าจัดการ Migrate VB6 > .NET หมด งานจะไปอยู่ WEB API ตอนนี้เอาเว็บ Front End มาเชื่อมต่อได้ครับ
Support Me: https://www.buymeacoffee.com/pingkunga
메타데이터
- post_id
- 34dabeffecfd
- slug
- c-use-case-การใช้งาน-named-pipe-เชื่อม-vb6-กับ-net-34dabeffecfd
- url
- https://medium.com/@pingkunga/c-use-case-%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%87%E0%B8%B2%E0%B8%99-named-pipe-%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%A1-vb6-%E0%B8%81%E0%B8%B1%E0%B8%9A-net-34dabeffecfd
- canonical_url
- https://medium.com/@pingkunga/c-use-case-%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%87%E0%B8%B2%E0%B8%99-named-pipe-%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%A1-vb6-%E0%B8%81%E0%B8%B1%E0%B8%9A-net-34dabeffecfd
- author_url
- https://medium.com/@pingkunga
- status
- ok
- fetched_at
- 2026-06-29 22:44:20