نعم—يمكنك تضمين عارض ملفات آمن بدون مكوّن إضافي في أي تطبيق ASP.NET Core أو MVC أو WebForms خلال بضع دقائق فقط، وتقوم Doconut App بكل الأعمال الشاقة.
المؤسسات التي تقدم عقودًا أو رسومات أو أصول تصميم تحتاج إلى عارض يحترم سياسات الأمان المؤسسية ولا يجبر المستخدمين على تثبيت مكوّنات إضافية قديمة في المتصفح. Doconut توفر مجموعة تطوير عارض مستندات .NET لتدفقات عمل PDF، Office، CAD، البريد الإلكتروني، والصور في المتصفح. توضح هذه المقالة قرارات التكامل دون الاعتماد على شفرة عينة محددة بالإصدار.

1. لماذا الأمان وعرض الصفحات بدون مكوّن إضافي مهم لتطبيقات الويب .NET
تتعامل المؤسسات الحديثة مع كل مستند على أنه احتمال لتسرب بيانات. عندما تقوم بتضمين عارض يعتمد على ActiveX أو Flash أو عميل أصلي، فإنك تتورط في ثلاث مخاطر:
| Risk | Impact on your .NET application | How Doconut App eliminates it |
|---|---|---|
| Plugin dependency | Users must install or enable a browser plugin, leading to support tickets and compliance headaches. | Doconut runs entirely in HTML5/Canvas, requiring zero plugins. |
| Unencrypted transit | Files travel over HTTP or are stored in plain text, violating GDPR, HIPAA, or internal policies. | All uploads go through SSL and are stored with AES‑256 encryption. |
| Uncontrolled lifecycle | Files may linger on the server, increasing breach surface. | Doconut automatically deletes files after viewing, ensuring a short retention window. |
لأن العارض يُقدَّم كمكوّن JavaScript يتواصل مع خدمة العرض الآمنة الخاصة بـ Doconut، فإنك تحافظ على نظافة مجموعة .NET — لا مكتبات أصلية إضافية، لا ملفات تنفيذية من طرف ثالث، ولا تدقيقات امتثال إضافية.
2. إعداد مشروع .NET
استخدم الحزمة، الوثائق، والأمثلة التي تتطابق مع نسخة Doconut المختارة للمشروع. صفحة Doconut download page هي نقطة الانطلاق الموثوقة.
قبل التكامل، تأكد من وقت تشغيل .NET المستهدف، سجِّل نسخة الحزمة، احتفظ بتكوين الترخيص خارج التحكم في المصدر، وابدأ بوثائق تمثيلية. ASP.NET Core و MVC و WebForms لها دورات حياة تطبيق مختلفة، لذا لا ينبغي معاملة إعداداتها على أنها متماثلة.
3. بناء نقطة نهاية تحميل آمنة – AES‑256، SSL، والحذف التلقائي
العارض لا يصل إلى الملفات مباشرة على نظام الملفات الخاص بك. بدلاً من ذلك، تقوم بتحميل المستند إلى موقع تخزين مؤقت ومشفّر يقرأه Doconut عند الطلب. فيما يلي وصف عالي المستوى للخطوات المطلوبة لـ ASP.NET Core؛ تنطبق الأفكار نفسها على MVC و WebForms.
Server‑side workflow
- Accept the uploaded file – Use the standard
IFormFile(orHttpPostedFilein WebForms) to receive the document from the client. - Encrypt the file with AES‑256 – Before persisting the stream, encrypt it using a proven library such as
System.Security.Cryptography.Aes. Store the encrypted blob in a secure location (e.g., Azure Blob Storage with server‑side encryption enabled, or an S3 bucket with SSE‑AES256). - Generate a short‑lived signed URL – Create a URL that is valid for a few minutes (e.g., 5 minutes). The URL should be HTTPS and include a cryptographic token that Doconut can validate. Most cloud storage providers offer a “pre‑signed URL” feature that fits this need.
- Return the signed URL to the client – Send a JSON response containing the URL. The client will hand this URL to the Doconut viewer.
- Schedule auto‑deletion – After the signed URL expires, a background job (Hangfire, Azure Functions, etc.) removes the encrypted blob, guaranteeing that the file does not remain on the server.
MVC / WebForms equivalents
- MVC – Place the same logic inside a regular controller action and return
JsonResult. - WebForms – Implement an
.ashxhandler or a page method that follows the same steps: receiveRequest.Files[0], encrypt, generate a pre‑signed URL, and write the JSON response.
الفرق الوحيد هو صياغة التوجيه؛ يبقى سير العمل الأمني متطابقًا.
4. عرض المستند عبر SDK المثبت
احتفظ بالوصول إلى المستند على الخادم وطبق التفويض قبل معالجة أي ملف أو تدفق. تسلسل العرض وت初始化 واجهة المستخدم يختلف حسب الإصدار؛ اتبع الوثائق الرسمية المرفقة مع البنية المثبتة بدلاً من نسخ واجهة JavaScript عامة غير موثوقة.
Why this works for every .NET flavor
- ASP.NET Core Razor – The script lives in the same view that hosts the upload form, so the flow is seamless.
- MVC – Use
@section Scriptsto inject the same snippet; the controller returns JSON that MVC’s$.ajaxcan consume. - WebForms – Register the script with
ClientScript.RegisterStartupScriptafter the upload completes, then calllaunchViewerthe same way.
نظرًا لأن Doconut يبث المستند مباشرة من عنوان URL الموقع، لا يتعامل الخادم مع الملف مرة أخرى بعد خطوة التحميل. العارض يُظهر ملفات PDF، Word، رسومات CAD، وكل الصيغ الأخرى المذكورة في مواصفات المنتج — بدون أي تحويل إضافي على الخادم.
5. تخصيص العارض ليتماشى مع علامتك التجارية – ضبط عارض الملفات على الإنترنت بدقة
غالبًا ما تحتاج المؤسسات إلى أن يبدو العارض كجزء أصيل من بوابتهم. UI القابل للتخصيص بالكامل في Doconut App يتيح لك:
| Customization | How to apply in .NET |
|---|---|
| Toolbar layout | Pass toolbar: false and build your own buttons that call the viewer’s JavaScript API (e.g., zoomIn(), print()). |
| Color scheme | Set theme: "dark" or supply a custom CSS file that overrides the default classes. |
| Language & accessibility | Doconut respects the lang attribute on the container; you can also inject ARIA labels via the accessibility option. |
| Event hooks | Callbacks such as onPageChange, onError, and onDownload let you log usage metrics in your existing telemetry pipeline. |
جميع هذه الخطاطيف تُضبط في نفس كائن JavaScript المعروض في القسم السابق. لأن العارض يعمل بالكامل على العميل، لا توجد أية حملات خادم إضافية — يظل الظهر الخلفي .NET مركزًا على المصادقة، التشفير، ومنطق الأعمال.
6. الأداء وقابلية التوسع – الحفاظ على تجربة سريعة
تضمين عارض في بوابة ذات حركة مرور عالية يثير مخاوف عملية: وقت التحميل و العرض المتزامن. Doconut App يعالج كلا الأمرين مباشرة، لكن يمكنك تعزيز نطاق الأداء ببضع حيل خاصة بـ .NET.
| Concern | Doconut’s built‑in advantage | Additional .NET tip |
|---|---|---|
| Initial download | Viewer script is only ~150 KB, gzipped. | Enable static file compression (app.UseResponseCompression()) and caching (Cache‑Control: public, max‑age=31536000). |
| File streaming | Doconut streams only the needed pages, using HTTP range requests. | Store encrypted blobs in a regional CDN (Azure Front Door, Amazon CloudFront) to cut latency. |
| Concurrent users | Rendering happens on the client; server only serves the encrypted file once per view. | Throttle the upload endpoint with IApplicationRateLimiter to protect against spikes. |
| Memory footprint | No server‑side PDF conversion libraries, so the ASP.NET process stays lean. | Run the upload service in a separate microservice if you already have a heavy background job queue. |
باتباع هذه الإرشادات، يمكنك دعم آلاف المشاهدين المتزامنين دون الحاجة إلى توسيع طبقة الويب .NET بما يتجاوز ما لديك بالفعل.
Key Takeaways
- Doconut App توفر عارضًا بدون مكوّن إضافي، آمنًا 100 % يعمل مع ASP.NET Core و MVC و WebForms.
- التحميلات تكون SSL‑only، مخزَّنة بتشفير AES‑256، وتُحذف تلقائيًا بعد انتهاء صلاحية عنوان URL الموقع.
- التكامل يتطلب فقط سكريبت CDN، عنصر
<div>حاوي، ونقطة نهاية خادم صغيرة تُعيد عنوان URL موقع. - العارض يدعم PDF، Office، CAD، وأكثر من 50 صيغة صورة — لا حاجة إلى تحويل على الخادم.
- يمكن تخصيص الواجهة بالكامل لتتناسب مع هوية الشركة، ويقدم العارض أدوات تكبير، قياس، وطبقات مدمجة لملفات CAD.
- الأداء يُعالج على جانب العميل؛ يحتاج مطورو .NET فقط إلى ضمان ضغط الملفات الثابتة وإمكانية التخزين المؤقت عبر CDN إذا لزم الأمر.
- تدفق العمل بالكامل — من التحميل الآمن إلى العرض داخل المتصفح — يندمج بسلاسة مع خطوط المصادقة والتفويض الحالية في .NET.
Common Questions
Q1: هل أحتاج إلى تثبيت أي حزم NuGet لاستخدام Doconut؟
A: لا. يُقدَّم العارض كحزمة JavaScript من جانب العميل عبر CDN الخاص بـ Doconut. يحتاج خادمك فقط إلى الوسيطات المعتادة في ASP.NET Core لمعالجة التحميلات والتشفير، والتي من المحتمل أنك تستخدمها بالفعل.
Q2: كيف يضمن Doconut حذف الملف بعد العرض؟
A: يولّد Doconut عنوان URL موقع قصير العمر ينتهي صلاحيته بعد فترة قابلة للضبط (عادةً خمس دقائق). بعد انتهاء صلاحية العنوان، تقوم أنت (أو مهمة تنظيف خلفية) بحذف الكتلة المشفرة. هذا يضمن عدم بقاء المستند لفترة أطول من الضرورة، مما يفي بسياسات الاحتفاظ الصارمة للبيانات.
Q3: هل يمكنني استخدام العارض للطباعة أو تصدير المستند؟
A: نعم. شريط أدوات Doconut المدمج يتضمن خيارات الطباعة والتصدير التي تحافظ على الجودة الأصلية وتنسيق الملف المصدر.
هل أنت مستعد لتضمين عارض مستندات آمن بدون مكوّن إضافي في تطبيق .NET الخاص بك؟ ابدأ مع Doconut App اليوم ووفّر عرض PDF، Office، CAD، والعديد من الصيغ الأخرى بأمان وفورية.