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

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

C#
ASP.Net

https://fb.watch/q2Jwj_qIzJ/

ตัวแปรธรรมดา กับ session ใช้เวลาประมวลผลต่างกันหรือไม่

presentation of a student
presentation of a student

18 พ.ย.57 ได้มีการทดสอบจับเวลาในการประมวลผล
ซึ่งเป็นกิจกรรมในชั้นเรียน เกิดจากการให้นักศึกษาเรียนรู้การติดต่อฐานข้อมูลจาก microsoft access 2003 กับ 2007 ซึ่งมีสกุลเป็น .mdb กับ .accdb แล้วก็ยิงคำถามเข้าไปว่าใครตอบเร็วกว่ากัน แล้วน้องขุนตอบว่า การตอบสนองของ 2003 ต้องช้ากว่า 2007 เหมือน nokia กับ iphone6 จึงให้น้องหญิงช่วยทดสอบให้ดู พบว่า 2007 ตอบสนองช้ากว่า 2003 ซึ่งผิดไปจากที่น้องขุนตั้งสมมติฐานไว้ ซึ่งใช้โค้ดที่ผมเขียนเพื่อทดสอบการทำงานของ connection กับ recordset (dlist8) ที่ใช้ ASP Classic เป็นเครื่องมือในการพัฒนา

นักศึกษาที่ร่วมกิจกรรม มีดังนี้
ศัลณ์ษิกา ไชยกุล ทดสอบ ucase กับ left
ธนากร วงศ์ใหญ่ ทดสอบ array กับ session
ณภัทร เทพจันตา ทดสอบ sub กับ function
http://www.thaiall.com/asp/test_time.htm

วัตถุประสงค์
เพื่อ ให้ได้ตระหนักถึงการใช้คำสั่งในการประมวลผล เหมือนกับการวิจัยที่ต้องมีบทที่ 4 มายืนยัน ว่าจะทำอะไร ใช้อะไร ตัดสินใจอะไร ก็ต้องมีผลการทดสอบมายืนยัน เสมือนวรรณกรรมอ้างอิงประกอบการตัดสินใจ จึงให้นักศึกษาเขียนโปรแกรมทดสอบว่า ฟังก์ชัน หรือตัวแปรแบบต่าง ๆ ใช้เวลาประมวลผลต่างกันหรือไม่ จะได้ตระหนักเรื่องการเลือกใช้ตัวแปร ประกาศตัวแปร และพิจารณาอัลกอริทึมที่ใช้ให้ละเอียด

function con1()
dim tstart
tstart = timer
dim x
for i = 1 to 100000
x = x + 1
next
response.write(((timer – tstart) * 1000) & “ms<br/>”)
end function

function con2()
dim tstart
tstart = timer
session(“x”)=0
for i = 1 to 100000
session(“x”) = session(“x”) + 1
next
response.write(((timer – tstart) * 1000) & “ms<br/>”)
end function

ผลการทดสอบเรียกฟังก์ชันทั้งสอง ที่ทำงานต่อเนื่องกัน
บนเครื่องเดียวกันพร้อม ๆ กัน
พบว่าตัวแปรธรรมดาใช้เวลา 32 ms
ส่วนตัวแปรเซสชั่นใช้เวลาไปถึง 500 ms
ถ้าใช้ server เครื่องเก่าก็จะนานกว่านี้
ใช้เครื่องใหม่ก็จะเร็วกว่านี้

การเรียกใช้ฟังก์ชัน
con1 ‘ x ใช้เวลา 32 ms
con2 ‘ session ใช้เวลา 500 ms

การเปิดบริการ iis7 บน windows 7

open asp & asp.net on iis7
open asp & asp.net on iis7

การเปิดบริการ iis7 บน windows 7 ผ่าน Control Panel, Programs and Features  , Turn Windows features on or off ถ้าเลือกเปิดบริการเฉพาะ Internet Information Services จะไม่บริการ ASP หรือ ASP.NET ถ้าต้องการบริการภาษา script  ก็ต้องเข้าไปเปิดบริการใน Internet Information Services, World Wide Web Services,  Application Development Features เพื่อให้รองรับแฟ้ม .asp หรือ .aspx  ในห้อง c:\inetpub\wwwroot

ถ้าต้องการเปลี่ยนห้อง

ก็ต้องเข้า Control Panel, Administrative Tools, Internet Information Services (IIS) Manager, Sites, Default Web Site, Basic Settings

ดึงลิงค์ของภาพไปสร้าง gallery

yonok alumni gallery
yonok alumni gallery

29 ก.ค.53 คัดลอกลิงค์ภาพจาก facebook.com ไปเข้าฐานข้อมูล แล้วเผยแพร่บนเว็บไซต์ภายนอก เพราะ fb ยอมให้ link ภาพออกไปแสดงได้ ทำให้สร้าง gallery ที่ดึงภาพจาก profile ของศิษย์เก่าไปรวมเป็นระบบ gallery แล้ว link กลับมายังเจ้าของภาพได้ ทดสอบที่ http://www.thaiabc.com/ynalumni/photo.asp
วิธีการ คือเขียน code อ่านข้อมูลจาก .mdb แล้วปรับการแสดงผลด้วย css ซึ่งจัดระเบียบภาพได้ยอดเยี่ยม ถ้าเป็นเมื่อก่อนคงเสียเวลาจัดการอีกพักใหญ่ ส่วนการรวมภาพผมใช้การคัดลอกที่ตั้งของภาพแต่ละภาพใน facebook มาวางไว้ในช่องที่เตรียมไว้ เมื่อกดปุ่ม upload ก็จะเพิ่มลิงค์นั้นเป็นระเบียนข้อมูลใหม่ใน .mdb ทำให้ code ที่เขียนด้วย .asp สามารถนำข้อมูลมาแสดงผลในรูป gallery หน้าละ 15 ภาพต่อหน้า ใต้ภาพจะมี link ไปยังเจ้าของภาพใน facebook เป็นการแนะนำให้รู้จักเพื่อนใน facebook อีกทางหนึ่ง .. แต่ปัญหาเรื่องสิทธิ์ของภาพ ยังต้องถกกันนิดหน่อยกับเจ้าของภาพ ถ้าผมจะคัดลอกภาพใครมาวางไว้ใน gallery คงต้องคุยกับเข้าซะก่อน มิเช่นนั้นอาจพบปัญหาในภายหลัง .. ขณะนี้มีภาพทดสอบเพียง 37 ภาพ จาก 3 account