← Back to list

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

Chatri Ngambenchawong · 2023-01-14 13:31 · 0 claps · 1.2 min read
#vb6 #ipc #pipes #named-pipes #dotnet
Open on Medium ↗

[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