ใช่—คุณสามารถฝังตัวดูไฟล์ออนไลน์ที่ปลอดภัยและไม่มีปลั๊กอินลงในแอปพลิเคชัน ASP.NET Core, MVC หรือ WebForms ใดก็ได้ภายในไม่กี่นาที และ Doconut App จะทำงานหนักทั้งหมดให้คุณ
องค์กรที่ให้บริการสัญญา, แผนผัง หรือทรัพยากรการออกแบบต้องการตัวดูที่เคารพนโยบายความปลอดภัยของบริษัทและไม่บังคับให้ผู้ใช้ติดตั้งปลั๊กอินของเบราว์เซอร์รุ่นเก่า Doconut ให้ SDK ตัวดูเอกสาร .NET สำหรับกระบวนการทำงาน PDF, Office, CAD, อีเมล และรูปภาพบนเบราว์เซอร์ บทความนี้สรุปการตัดสินใจในการผสานรวมโดยไม่ต้องอิงโค้ดตัวอย่างที่ขึ้นกับเวอร์ชัน

1. ทำไมความปลอดภัยและการแสดงผลแบบไม่มีปลั๊กอินจึงสำคัญสำหรับเว็บแอป .NET
องค์กรสมัยใหม่ถือเอกสารทุกฉบับว่าเป็นจุดรั่วข้อมูลที่อาจเกิดขึ้นได้ เมื่อคุณฝังตัวดูที่พึ่งพา ActiveX, Flash หรือไคลเอนต์เนทีฟ คุณจะสืบทอดความเสี่ยงสามประการ:
| ความเสี่ยง | ผลกระทบต่อแอปพลิเคชัน .NET ของคุณ | Doconut App ขจัดอย่างไร |
|---|---|---|
| การพึ่งพาปลั๊กอิน | ผู้ใช้ต้องติดตั้งหรือเปิดใช้งานปลั๊กอินของเบราว์เซอร์ ทำให้เกิดตั๋วสนับสนุนและปัญหาการปฏิบัติตาม | Doconut ทำงานทั้งหมดใน HTML5/Canvas ไม่ต้องใช้ ปลั๊กอินใด ๆ |
| การส่งข้อมูลที่ไม่ได้เข้ารหัส | ไฟล์เดินทางผ่าน HTTP หรือถูกเก็บเป็นข้อความธรรมดา ทำให้ละเมิด GDPR, HIPAA หรือนโยบายภายใน | การอัปโหลดทั้งหมดผ่าน SSL และเก็บด้วย การเข้ารหัส AES‑256 |
| วงจรชีวิตที่ไม่ได้ควบคุม | ไฟล์อาจค้างอยู่บนเซิร์ฟเวอร์ เพิ่มพื้นผิวการละเมิด | Doconut ลบไฟล์อัตโนมัติหลังการดู ทำให้ระยะเวลาการเก็บสั้นที่สุด |
เนื่องจากตัวดูถูกส่งมอบเป็นคอมโพเนนท์ JavaScript ที่สื่อสารกับบริการการเรนเดอร์ที่ปลอดภัยของ Doconut คุณจึงทำให้สแต็ก .NET ของคุณสะอาด—ไม่มีไลบรารีเนทีฟเพิ่มเติม, ไม่มีไบนารีของบุคคลที่สาม, และไม่มีการตรวจสอบความสอดคล้องเพิ่มเติม
2. เตรียมโครงการ .NET ของคุณ
ใช้แพ็กเกจ, เอกสาร, และตัวอย่างที่ตรงกับเวอร์ชัน Doconut ที่เลือกสำหรับโครงการ หน้า ดาวน์โหลดของ Doconut เป็นจุดเริ่มต้นที่เชื่อถือได้
ก่อนการผสานรวม ให้ตรวจสอบ .NET runtime ที่เป้าหมาย, บันทึกเวอร์ชันแพ็กเกจ, เก็บการตั้งค่าไลเซนส์ให้อยู่ด้านนอกระบบควบคุมเวอร์ชัน, และเริ่มต้นด้วยเอกสารตัวอย่าง ASP.NET Core, MVC, และ WebForms มีวงจรชีวิตแอปพลิเคชันที่แตกต่างกัน ดังนั้นการตั้งค่าไม่ควรถือว่าเหมือนกัน
3. สร้าง endpoint การอัปโหลดที่ปลอดภัย – AES‑256, SSL, และการลบอัตโนมัติ
ตัวดูจะไม่เข้าถึงไฟล์โดยตรงบนระบบไฟล์ของคุณ แต่จะอัปโหลดเอกสารไปยัง ตำแหน่งจัดเก็บชั่วคราวที่เข้ารหัส ซึ่ง Doconut จะอ่านตามคำขอ ด้านล่างเป็นคำอธิบายระดับสูงของขั้นตอนที่จำเป็นสำหรับ ASP.NET Core; แนวคิดเดียวกันใช้กับ MVC และ WebForms
เวิร์กโฟลว์ฝั่งเซิร์ฟเวอร์
- รับไฟล์ที่อัปโหลด – ใช้
IFormFileมาตรฐาน (หรือHttpPostedFileใน WebForms) เพื่อรับเอกสารจากไคลเอนต์ - เข้ารหัสไฟล์ด้วย AES‑256 – ก่อนบันทึกสตรีม ให้เข้ารหัสด้วยไลบรารีที่เชื่อถือได้เช่น
System.Security.Cryptography.Aesเก็บบล็อบที่เข้ารหัสในตำแหน่งปลอดภัย (เช่น Azure Blob Storage ที่เปิดใช้การเข้ารหัสฝั่งเซิร์ฟเวอร์, หรือ S3 bucket ที่เปิดใช้ SSE‑AES256) - สร้าง URL ที่ลงนามแบบสั้น – สร้าง URL ที่มีอายุเพียงไม่กี่นาที (เช่น 5 นาที) URL ต้องเป็น HTTPS และต้องมีโทเค็นคริปโตที่ Doconut สามารถตรวจสอบได้ ผู้ให้บริการคลาวด์ส่วนใหญ่มีฟีเจอร์ “pre‑signed URL” ที่ตอบโจทย์นี้
- ส่ง URL ที่ลงนามกลับไปยังไคลเอนต์ – ส่ง JSON ที่มี URL ไว้ในนั้น ไคลเอนต์จะส่ง URL นี้ให้ตัวดูของ Doconut
- ตั้งเวลาลบอัตโนมัติ – หลังจาก URL ที่ลงนามหมดอายุ งานเบื้องหลัง (Hangfire, Azure Functions ฯลฯ) จะลบบล็อบที่เข้ารหัส เพื่อรับประกันว่าไฟล์จะไม่ค้างอยู่บนเซิร์ฟเวอร์
MVC / WebForms เทียบเท่า
- MVC – ใส่ตรรกะเดียวกันในแอคชันของคอนโทรลเลอร์และคืนค่า
JsonResult - WebForms – สร้าง handler
.ashxหรือเมธอดหน้า (page method) ที่ทำตามขั้นตอนเดียวกัน: รับRequest.Files[0], เข้ารหัส, สร้าง URL ที่ลงนาม, แล้วเขียน JSON กลับไป
ความแตกต่างเพียงอย่างเดียวคือไวยากรณ์การกำหนดเส้นทาง; เวิร์กโฟลว์ความปลอดภัยยังคงเหมือนเดิม
4. เรนเดอร์เอกสารผ่าน SDK ที่ติดตั้งแล้ว
เก็บการเข้าถึงเอกสารไว้บนเซิร์ฟเวอร์และบังคับการตรวจสอบสิทธิ์ก่อนประมวลผลไฟล์หรือสตรีม ลำดับการเรนเดอร์และการเริ่มต้น UI ที่แน่นอนขึ้นกับเวอร์ชัน; ให้ปฏิบัติตามเอกสารอย่างเป็นทางการที่มาพร้อมกับบิลด์ที่ติดตั้ง แทนการคัดลอก API JavaScript สากลที่ยังไม่ได้รับการตรวจสอบ
ทำไมวิธีนี้จึงใช้ได้กับ .NET ทุกแบบ
- ASP.NET Core Razor – สคริปต์อยู่ในวิวเดียวกับฟอร์มอัปโหลด ทำให้กระบวนการไหลลื่น
- MVC – ใช้
@section Scriptsเพื่อแทรกสคริปต์เดียวกัน; คอนโทรลเลอร์คืนค่า JSON ที่ MVC’s$.ajaxสามารถดึงได้ - WebForms – ลงทะเบียนสคริปต์ด้วย
ClientScript.RegisterStartupScriptหลังอัปโหลดเสร็จ แล้วเรียกlaunchViewerแบบเดียวกัน
เนื่องจาก Doconut สตรีมเอกสารโดยตรงจาก URL ที่ลงนาม เซิร์ฟเวอร์จะไม่ต้องสัมผัสไฟล์อีกหลังขั้นตอนอัปโหลด ตัวดูสามารถเรนเดอร์ PDF, Word, CAD, และรูปแบบอื่น ๆ ที่ระบุในฟีเจอร์ของผลิตภัณฑ์ โดยไม่ต้องแปลงฝั่งเซิร์ฟเวอร์เพิ่มเติม
5. ปรับแต่งตัวดูให้สอดคล้องกับแบรนด์ของคุณ – ปรับจูน OnlineDocumentViewer
องค์กรมักต้องการให้ตัวดูดูเหมือนเป็นส่วนหนึ่งของพอร์ทัลของตน Doconut App มี UI ที่ปรับแต่งได้เต็มรูปแบบ ให้คุณทำสิ่งต่อไปนี้:
| การปรับแต่ง | วิธีใช้ใน .NET |
|---|---|
| การจัดวางแถบเครื่องมือ | ส่ง toolbar: false แล้วสร้างปุ่มของคุณเองที่เรียก API JavaScript ของตัวดู (เช่น zoomIn(), print()) |
| โทนสี | ตั้งค่า theme: "dark" หรือใส่ไฟล์ CSS ที่กำหนดคลาสเริ่มต้นใหม่ |
| ภาษา & การเข้าถึง | Doconut เคารพแอตทริบิวต์ lang บนคอนเทนเนอร์; คุณยังสามารถแทรกป้าย ARIA ผ่านตัวเลือก accessibility |
| ฮุคเหตุการณ์ | คอลแบ็กเช่น onPageChange, onError, และ onDownload ให้คุณบันทึกเมตริกการใช้งานในระบบ telemetry ที่มีอยู่ของคุณ |
ทุกฮุคเหล่านี้กำหนดในอ็อบเจกต์ JavaScript เดียวกับที่แสดงในส่วนก่อนหน้า เนื่องจากตัวดูทำงานทั้งหมดบนไคลเอนต์ ไม่มีโหลดเซิร์ฟเวอร์เพิ่ม—แบ็กเอนด์ .NET ของคุณยังคงมุ่งเน้นที่การตรวจสอบสิทธิ์, การเข้ารหัส, และตรรกะธุรกิจ
6. ประสิทธิภาพและการขยายตัว – ทำให้ประสบการณ์ตอบสนองเร็ว
การฝังตัวดูในพอร์ทัลที่มีการเข้าชมสูงทำให้เกิดข้อกังวลสองประการ: เวลาโหลด และ การเรนเดอร์พร้อมกัน Doconut App รองรับทั้งสองอย่างโดยอัตโนมัติ แต่คุณสามารถเสริมประสิทธิภาพด้วยเคล็ดลับเฉพาะ .NET ได้อีกเล็กน้อย
| ความกังวล | ข้อได้เปรียบในตัวของ Doconut | เคล็ดลับเพิ่มเติมสำหรับ .NET |
|---|---|---|
| การดาวน์โหลดครั้งแรก | สคริปต์ตัวดูมีขนาดประมาณ 150 KB (gzip) | เปิด การบีบอัดไฟล์สถิต (app.UseResponseCompression()) และ แคช (Cache‑Control: public, max‑age=31536000) |
| การสตรีมไฟล์ | Doconut สตรีมเฉพาะหน้าที่ต้องการโดยใช้ HTTP range requests | เก็บบล็อบที่เข้ารหัสใน CDN แบบภูมิภาค (Azure Front Door, Amazon CloudFront) เพื่อลดความหน่วง |
| ผู้ใช้พร้อมกันหลายคน | การเรนเดอร์ทำบนไคลเอนต์; เซิร์ฟเวอร์ให้ไฟล์เข้ารหัสเพียงครั้งเดียวต่อการดู | จำกัด endpoint การอัปโหลด ด้วย IApplicationRateLimiter เพื่อป้องกันสปายค์ |
| การใช้หน่วยความจำ | ไม่มีไลบรารีแปลง PDF ฝั่งเซิร์ฟเวอร์ จึงทำให้กระบวนการ ASP.NET เบาบาง | แยกบริการอัปโหลดเป็น ไมโครเซอร์วิส หากคุณมีคิวงานเบื้องหลังที่หนักอยู่แล้ว |
ทำตามแนวทางเหล่านี้ คุณจะรองรับผู้ดูหลายพันคนพร้อมกันโดยไม่ต้องขยายชั้นเว็บ .NET มากเกินไป
สรุปประเด็นสำคัญ
- Doconut App ให้ตัวดู ปลอดภัย, ไม่มีปลั๊กอิน 100 % ที่ทำงานร่วมกับ ASP.NET Core, MVC, และ WebForms
- การอัปโหลดทำผ่าน SSL‑only, เก็บด้วย AES‑256, และลบอัตโนมัติหลัง URL ที่ลงนามหมดอายุ
- การผสานรวมต้องใช้เพียงสคริปต์จาก CDN, คอนเทนเนอร์
<div>, และ endpoint เซิร์ฟเวอร์ขนาดเล็กที่คืน URL ที่ลงนาม - ตัวดูรองรับ PDF, Office, CAD, และรูปภาพกว่า 50 รูปแบบ —ไม่ต้องแปลงฝั่งเซิร์ฟเวอร์
- UI สามารถ ปรับแต่งเต็มรูปแบบ ให้สอดคล้องกับแบรนด์องค์กร, ตัวดูมีเครื่องมือซูม, การวัด, และเลเยอร์สำหรับไฟล์ CAD
- ประสิทธิภาพจัดการบนไคลเอนต์; นักพัฒนา .NET เพียงตรวจสอบการบีบอัดไฟล์สถิติและแคช CDN หากต้องการ
- เวิร์กโฟลว์ทั้งหมด—from การอัปโหลดที่ปลอดภัยถึงการเรนเดอร์ในเบราว์เซอร์—ผสานรวมอย่างสะอาดกับระบบการตรวจสอบสิทธิ์และการอนุญาตของ .NET ที่มีอยู่แล้ว
คำถามที่พบบ่อย
Q1: ฉันต้องติดตั้ง NuGet package ใด ๆ เพื่อใช้ Doconut หรือไม่?
A: ไม่จำเป็น ตัวดูถูกส่งมอบเป็นแพ็กเกจ JavaScript ฝั่งไคลเอนต์จาก CDN ของ Doconut เซิร์ฟเวอร์ของคุณต้องการเพียงมิดเดิลแวร์ ASP.NET Core ปกติสำหรับการอัปโหลดและการเข้ารหัส ซึ่งคุณอาจมีอยู่แล้วแล้ว
Q2: Doconut ทำให้ไฟล์ถูกลบหลังการดูอย่างไร?
A: Doconut สร้าง URL ที่ลงนามสั้น ๆ ที่หมดอายุหลังช่วงเวลาที่กำหนด (โดยทั่วไป 5 นาที) หลังจาก URL หมดอายุ คุณ (หรืองานทำความสะอาดเบื้องหลัง) จะลบบล็อบที่เข้ารหัส นั่นรับประกันว่าเอกสารจะไม่ถูกเก็บไว้เกินกว่าที่จำเป็น เพื่อตอบสนองนโยบายการเก็บรักษาข้อมูลที่เข้มงวด
Q3: ตัวดูสามารถพิมพ์หรือส่งออกเอกสารได้หรือไม่?
A: ได้ ตัวดูที่มาพร้อมกับแถบเครื่องมือของ Doconut มีตัวเลือกพิมพ์และส่งออกที่รักษาคุณภาพและการจัดวางของไฟล์ต้นฉบับไว้ครบถ้วน
พร้อมที่จะฝัง OnlineDocumentViewer ที่ปลอดภัยและไม่มีปลั๊กอินในแอป .NET ของคุณหรือยัง? เริ่มต้นกับ Doconut App วันนี้และมอบ PDF, Office, CAD, และรูปแบบอื่น ๆ อีกหลายสิบแบบอย่างปลอดภัยและทันที