بله—شما میتوانید یک نمایشگر فایل آنلاین امن و بدون افزونه را در هر برنامه 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) هدف را تأیید کنید، نسخه بسته را ثبت کنید، پیکربندی لایسنس را خارج از کنترل منبع نگه دارید و با اسناد نماینده شروع کنید. ASP.NET Core، MVC و WebForms چرخههای حیات متفاوتی دارند، بنابراین تنظیمات آنها نباید بهعنوان یکسان در نظر گرفته شوند.
3. ساخت نقطه انتهایی بارگذاری امن – AES‑256، SSL و حذف خودکار
نمایشگر هرگز بهصورت مستقیم به فایلهای موجود در سیستمفایل شما دسترسی ندارد. در عوض، سند را به محل ذخیرهسازی موقت و رمزنگاریشده که Doconut بهصورت درخواست‑محور میخواند، بارگذاری میکنید. در زیر توصیف سطح‑بالایی از مراحل مورد نیاز برای ASP.NET Core آمده است؛ همان ایدهها برای MVC و WebForms نیز اعمال میشود.
جریان کاری سمت سرور
- پذیرش فایل بارگذاریشده – از
IFormFileاستاندارد (یاHttpPostedFileدر WebForms) برای دریافت سند از کلاینت استفاده کنید. - رمزنگاری فایل با AES‑256 – پیش از ذخیرهسازی جریان، آن را با کتابخانهای معتبر مانند
System.Security.Cryptography.Aesرمزنگاری کنید. بلاک رمزنگاریشده را در مکانی امن (مثلاً Azure Blob Storage با رمزنگاری سمت سرور فعال، یا یک سطل S3 با 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 – یک هندلر
.ashxیا متد صفحه پیادهسازی کنید که مراحل مشابه را دنبال کند: دریافتRequest.Files[0]، رمزنگاری، تولید URL پیشامضا و نوشتن پاسخ JSON.
تنها تفاوت در نحو مسیریابی است؛ جریان کاری امنیتی یکسان میماند.
4. رندر سند از طریق SDK نصبشده
دسترسی به سند را روی سرور نگه دارید و قبل از پردازش یک فایل یا جریان، احراز هویت را اعمال کنید. توالی دقیق رندر و مقداردهی اولیه UI بهصورت نسخه‑خاص است؛ به جای کپی کردن یک API JavaScript غیرمورد تأیید، مستندات رسمی همراه با ساختار نصبشده را دنبال کنید.
چرا این برای هر طعم .NET کار میکند
- ASP.NET Core Razor – اسکریپت در همان نمایی که فرم بارگذاری را میزبانی میکند قرار میگیرد، بنابراین جریان کار یکپارچه است.
- MVC – از
@section Scriptsبرای تزریق همان قطعه کد استفاده کنید؛ کنترلر JSON برمیگرداند که$.ajaxدر MVC میتواند مصرف کند. - WebForms – اسکریپت را با
ClientScript.RegisterStartupScriptپس از اتمام بارگذاری ثبت کنید و سپس به همان روشlaunchViewerرا فراخوانی کنید.
از آنجا که Doconut سند را مستقیماً از URL امضاشده استریم میکند، سرور پس از مرحله بارگذاری دیگر به فایل دسترسی ندارد. نمایشگر PDF، Word، نقشههای CAD و تمام فرمتهای دیگر فهرستشده در مستندات محصول را بدون هیچ تبدیل سمت سرور رندر میکند.
5. سفارشیسازی نمایشگر برای هماهنگی با برند شما – تنظیم دقیق نمایشگر فایل آنلاین
شرکتها اغلب نیاز دارند نمایشگر شبیه بخشی بومی از پورتال خود به نظر برسد. UI کاملاً قابل سفارشیسازی Doconut App به شما اجازه میدهد:
| سفارشیسازی | نحوه اعمال در .NET |
|---|---|
| چیدمان نوار ابزار | toolbar: false را پاس دهید و دکمههای خود را بسازید که API JavaScript نمایشگر را فراخوانی کنند (مثلاً zoomIn(), print()). |
| طرح رنگی | theme: "dark" را تنظیم کنید یا یک فایل CSS سفارشی که کلاسهای پیشفرض را بازنویسی میکند، بارگذاری کنید. |
| زبان و دسترسپذیری | Doconut ویژگی lang را در کانتینر رعایت میکند؛ میتوانید برچسبهای ARIA را از طریق گزینه accessibility تزریق کنید. |
| هوکهای رویداد | Callbackهایی مانند onPageChange, onError و onDownload به شما امکان میدهند معیارهای استفاده را در خط لوله تلهمتری موجود خود لاگ کنید. |
تمام این هوکها در همان شیء JavaScript که در بخش قبلی نشان داده شد پیکربندی میشوند. چون نمایشگر کاملاً در سمت کلاینت اجرا میشود، بار سرور اضافهای ایجاد نمیکند—پشتصحنه .NET شما فقط بر احراز هویت، رمزنگاری و منطق تجاری متمرکز میشود.
6. عملکرد و مقیاسپذیری – حفظ تجربهٔ سریع
جاسازی یک نمایشگر در یک پورتال پر ترافیک دو نگرانی عملی را ایجاد میکند: زمان بارگذاری و رندر همزمان. Doconut App هر دو را بهصورت پیشفرض پوشش میدهد، اما میتوانید با چند ترفند خاص .NET عملکرد را تقویت کنید.
| نگرانی | مزیت داخلی Doconut | نکتهٔ اضافی برای .NET |
|---|---|---|
| بارگیری اولیه | اسکریپت نمایشگر تنها حدود 150 KB است (gzip). | فشردهسازی فایلهای استاتیک را فعال کنید (app.UseResponseCompression()) و کش (Cache‑Control: public, max‑age=31536000). |
| استریم فایل | Doconut فقط صفحات مورد نیاز را استریم میکند و از درخواستهای محدوده HTTP استفاده میکند. | بلاکهای رمزنگاریشده را در یک CDN منطقهای (Azure Front Door، Amazon CloudFront) ذخیره کنید تا تأخیر کاهش یابد. |
| کاربران همزمان | رندر در سمت کلاینت انجام میشود؛ سرور فقط یک بار فایل رمزنگاریشده را برای هر مشاهده سرو میکند. | نقطهٔ انتهایی بارگذاری را با IApplicationRateLimiter محدود کنید تا از اسپایکها محافظت شود. |
| حجم حافظه | بدون کتابخانههای تبدیل PDF سمت سرور، فرآیند ASP.NET سبک میماند. | سرویس بارگذاری را در یک میکروسرویس جداگانه اجرا کنید اگر پیش از این صف کارهای پسزمینه سنگینی دارید. |
با پیروی از این راهنماییها میتوانید هزاران نمایشگر همزمان را بدون نیاز به مقیاسپذیری بیشتر لایه وب .NET خود پشتیبانی کنید.
نکات کلیدی
- Doconut App یک نمایشگر بدون افزونه، 100 % امن فراهم میکند که با ASP.NET Core، MVC و WebForms کار میکند.
- بارگذاریها فقط از طریق SSL انجام میشود، با رمزنگاری AES‑256 ذخیره میشوند و پس از انقضای URL امضاشده بهصورت خودکار حذف میشوند.
- یکپارچهسازی تنها به یک اسکریپت CDN، یک
<div>کانتینر و یک نقطه انتهایی سرور کوچک که URL امضاشده را برمیگرداند نیاز دارد. - نمایشگر PDF، Office، CAD و بیش از 50 فرمت تصویر را پشتیبانی میکند—بدون نیاز به تبدیل سمت سرور.
- UI میتواند کاملاً سفارشیسازی شود تا با برند شرکت هماهنگ شود و نمایشگر ابزارهای زوم، اندازهگیری و لایه برای فایلهای CAD ارائه میدهد.
- عملکرد در سمت کلاینت مدیریت میشود؛ توسعهدهندگان .NET فقط باید فشردهسازی فایلهای استاتیک و کشینگ CDN را تضمین کنند.
- کل جریان کار—from بارگذاری امن تا رندر در مرورگر—بهصورت تمیز در خطوط لولهٔ احراز هویت و مجوزدهی موجود .NET شما جای میگیرد.
سوالات متداول
س1: آیا برای استفاده از Doconut نیاز به نصب بستههای NuGet دارم؟
ج: خیر. نمایشگر بهصورت یک بسته JavaScript سمت کلاینت از CDN Doconut تحویل داده میشود. سرور شما فقط به میدلویرهای معمولی ASP.NET Core برای بارگذاری فایل و رمزنگاری نیاز دارد که احتمالاً از قبل موجود هستند.
س2: Doconut چگونه تضمین میکند که فایل پس از مشاهده حذف شود؟
ج: Doconut یک URL امضاشده کوتاهمدت تولید میکند که پس از دورهٔ زمان تنظیمشده (معمولاً پنج دقیقه) منقضی میشود. پس از انقضا، شما (یا یک کار پاکسازی پسزمینه) بلاک رمزنگاریشده را حذف میکنید؛ این تضمین میکند که سند برای مدت طولانی نگهداری نشود و با سیاستهای سختگیرانهٔ نگهداری داده مطابقت داشته باشد.
س3: آیا میتوانم از نمایشگر برای چاپ یا استخراج سند استفاده کنم؟
ج: بله. نوار ابزار داخلی Doconut شامل گزینههای چاپ و استخراج است که کیفیت و چیدمان اصلی فایل منبع را حفظ میکند.
آمادهاید تا یک نمایشگر سند امن، بدون افزونه را در برنامهٔ .NET خود جاسازی کنید؟ همین امروز با Doconut App شروع کنید و PDF، Office، CAD و دهها فرمت دیگر را به‑صورت ایمن و آنی تحویل دهید.