การปรับโค้ดซีชาร์ปกับเอเอสพีดอทเน็ต

เมื่อวานนั่งแก้โค้ดเก่า
ที่เคยทำงานบนวินเซิร์ฟศูนย์แปด
ให้ทำงานบนรุ่นสองศูนย์สิบหก
เพราะเพื่อนเก่ารุ่นน้องเค้าทักถามมา
เค้าใช้เอเอสพีดอทเน็ตกับซีชาร์ป
ทีแรกคิดว่าเป็นเอเอสพีคลาสสิก
พอได้เห็นโค้ดถึงรู้ว่าฟอร์มหลัก
ใช้เอเอสพีดอทเน็ต และ
โค้ดใช้ซีชาร์ปควบคุมการติดต่อ
และเชื่อมฐานเอสคิวแอลเซิร์ฟเวอร์
.
พอดีเช่าโฮสต์
ที่เป็นวินโดว์ไว้ตัวหนึ่ง
เคยทำระบบสมาชิกให้สมาคม
ตอนนั้นใช้แอคเซสรุ่นเก่าเก็บข้อมูล
พอมีกฎเรื่องความเป็นส่วนตัว
ก็ได้หยุดบริการลงไป
เหลือเพียงบล็อกข้อมูล
ที่ใช้ฐานข้อมูลมายเอสคิวแอล
.
เมื่อได้นำโค้ดมารัน
พบว่า นโยบายการเขียนโค้ด
เปลี่ยนไปในเครื่องรุ่นสองศูนย์สิบหก
รูปแบบเดิมใช้ไม่ได้เยอะทีเดียว
ทำให้ต้องแก้โค้ดอยู่พอควร
.
การเปลี่ยนที่สำคัญ เช่น
คำสั่งในเอเอสพีดอทเน็ต
เป็น case sensitive แล้ว
การเขียนและเรียกใช้คลาส
ต้องอยู่ในแฟ้มซีชาร์ปเดียวกัน
จะแบ่งคลาสไปเขียนแยกแฟ้ม
แล้วมีตัวหลักเรียกมารวมกันไม่ได้
และการสั่ง response หรือแสดงผล
ทำไม่ได้ในกรณีที่เป็นเว็บแอป
ในโค้ดนี้ใช้การส่งค่ากลับมาที่ฟอร์ม
ผ่านตัวแปรแบบ cookie
.
ตัวอย่างนี้เน้นทดสอบการเชื่อมต่อ
แบบ ole กับ mysql
และการทำงานแบบ User interface
ของฟอร์มหลัก
หากจะทดสอบโค้ดต้องมี
โฮสต์ ฐานข้อมูล ผู้ใช้และรหัส
ขอให้โชคดีกับการทดสอบเชื่อมต่อครับ
.
เคยเขียนบทเรียนออนไลน์
เรื่องเอเอสพีคลาสสิก
เอเอสพีดอทเน็ต และซีชาร์ป
รวมถึงหนังสือรวมโค้ดเล่มหนึ่ง
ถ้ามีโอกาสก็จะไปปรับโค้ด
ให้เป็นปัจจุบันยิ่งขึ้น

C#
ASP.Net

https://fb.watch/q2Jwj_qIzJ/

การส่งข้อความข้ามเครื่องผ่าน IP เขียนด้วย C# บน console application

listener เปิดรับ client ส่งข้อความlistener ได้รับ

ฟัง ดร.ถาวร ล่อกา พูดเรื่องงานวิจัยเชิงคุณภาพ (Quality Research)

https://www.facebook.com/ajarnburin/posts/2482414421772674

ทำให้นึกถึงเรื่อง เกิดขึ้น ตั้งอยู่ ดับไป
ช่วงนี้ ลองทำโปรแกรม 2 เซต คือ แต่ละเซตมี ตัวรับ กับตัวส่ง
ระหว่างเครื่องผ่าน ip เขียนด้วย C#

http://www.thaiall.com/csharp

เพราะนักศึกษาสนใจภาษานี้
เครื่องมือที่ใช้ทดสอบ มี 2 เซต คือเซต sharp develop และเซต VS
(แฟ้ม program.cs ใช้ร่วมกันได้ระหว่าง 2 tools นี้ ในกรณีนี้)
เพราะใช้ .net framework ทั้งคู่ คำสั่งที่ใช้ต่างกัน
คือ ตัวหนึ่งเปิดพอร์ตผ่าน TcpListener(ipaddr,8888);
อีกตัวใช้ new Socket(ipAddress, Stream, ProtocolType.Tcp);
เป้าหมายคือเปิดให้ listener รับฟังจาก client ได้ ก็ถือว่า ok แล้ว

ภาพประกอบมี 3 ภาพคือ
1. listener เปิดรับ
2. client ส่งข้อความ
3. listener ได้รับ