میتوانید PDFها، فایلهای Office، نقشههای CAD، ایمیل و تصاویر را در مرورگر بدون نصب افزونههای قدیمی مشاهده کنید. برای برنامههای مبتنی بر ویندوز .NET، نمایشگر Doconut پردازش اسناد در سمت سرور را فراهم میکند در حالی که کاربران در داخل برنامه تجاری میمانند.

در بخشهای بعدی به این میپردازیم که چرا حذف افزونههای قدیمی مهم است، یک گردش کار ادغام ASP.NET Core را ترسیم میکنیم و درباره بارگذاری کشیدن و رها کردن و ادغام Blazor بدون تکیه بر کدهای SDK غیرمطمئن بحث میکنیم.
بدون افزونه: چرا برای برنامههای وب .NET یک تغییر بازی است
حذف اصطکاک «نصب‑اول»
نمایشگرهای سنتی به ActiveX، Java یا Flash چسبیدهاند. اینها نیاز به اجازه دارند، هشدارهای امنیتی ایجاد میکنند و در مرورگرهای مدرن خراب میشوند. Doconut این مشکل را با رندر کردن در سرور حل میکند و مرورگر فقط HTML و تصاویر معمولی دریافت میکند — هیچ چیزی برای نصب در سمت کاربر نیست، هیچ درخواست نصب، هیچ بلیط IT.
این تفاوت برای بقیه مقاله مهم است، بنابراین باید واضح بگوییم: تجزیه و رسترینگ در سرور شما انجام میشود، نه در مرورگر کاربر. بدون افزونه یعنی کلاینت هیچ چیزی نیاز ندارد؛ به این معنا نیست که کار به جاوااسکریپت منتقل شده است.
حفظ ایزولهسازی مرورگر
از آنجا که هیچ افزونه خارجی بارگذاری نمیشود، ایزولهسازی مرورگر دست نخورده میماند. بهتر از این، دستگاه کاربر هرگز سند منبع را دریافت نمیکند — فقط صفحات رندر شده را میگیرد — بنابراین یک PDF مخرب هیچ کاری برای انجام در سمت کاربر ندارد.
این کار حذف سطح حمله نیست؛ بلکه آن را به سرور شما منتقل میکند، جایی که یک تجزیهکننده ورودیهای غیرمطمئن را پردازش میکند. آن را با کمترین امتیاز دسترسی اجرا کنید، بهروز نگه دارید و بارگذاریها را اعتبارسنجی کنید. امنیت انتقال، رمزنگاری در حالت استراحت و نگهداری، مسئولیت برنامه شماست — SDK این موارد را فراهم نمیکند.
آیندهنگری در تمام مرورگرها و دستگاهها
از آنجا که مرورگر فقط باید HTML و تصاویر استاندارد را نمایش دهد، تقریباً هیچ چیزی برای شکستن توسط بهروزرسانی مرورگر وجود ندارد. Chrome، Edge، Safari یا یک WebView موبایلی همه بهیکسان رفتار میکنند، بدون هشدار «افزونه گم شده» و بدون راهحلهای مخصوص نسخه — و دستگاههای کمقدرت نیز معایبی ندارند، چون رندرینگ را انجام نمیدهند.
ادغام نمایشگر بدون افزونه Doconut App در ASP.NET Core
برای ادغام نمایشگر، یک URL امضاشده کوتاهمدت برای سند در سرور تولید کنید و آن را به کلاینت بدهید. سرور سند را رندر میکند و صفحات را از طریق HTTPS به یک عنصر کانتینر در صفحه میفرستد.
گردش کار سمت سرور (مفهومی)
- دریافت درخواست برای یک سند.
- بازیابی فایل از ذخیرهسازی شما (SQL، Blob و غیره).
- ایجاد URL امضاشده با زمان محدود که به فایل رمزنگاریشده اشاره دارد.
- بازگرداندن آن URL به نمای Razor.
نمای Razor (مفهومی)
نمای را مسئول چیدمان و وضعیت نمایشگر مجاز نگه دارید، در حالی که سرور سند را بازیابی و پردازش میکند. فقط از منابع کلاینت و توالی اولیهسازی مستند شده برای نسخه نصبشده Doconut استفاده کنید.
هنگامی که صفحه بارگذاری میشود، کلاینت سند را با URL امضاشده درخواست میکند و صفحات را که سرور برمیگرداند نمایش میدهد. هیچ ActiveX، Java یا Flashی وجود ندارد.
چرا این مهم است
- بدون افزونه: کلاینت فقط به یک مرورگر نیاز دارد و هیچ چیز دیگری.
- فایل منبع هرگز به کاربر نمیرسد: آنها صفحات رندر شده را دریافت میکنند، بنابراین هیچ نسخهٔ محلی برای ارسال، کش یا نشت وجود ندارد.
- امنیت به عهدهٔ شماست: URL کوتاهمدت و امضاشده کدی است که شما مینویسید. نمایشگر هیچگونه enforcementی برای شما انجام نمیدهد، بنابراین آن را بهعنوان بخشی از طراحی نه بهعنوان یک فرض در نظر بگیرید.
- صفحهبندی: صفحات بهصورت نیاز تحویل داده میشوند نه همهٔ یکجا، که باعث میشود PDF طولانی یا نقشهٔ متراکم قابل استفاده بماند.
رندر کردن فرمتهای پشتیبانیشده بدون افزونهها
موتور SDK 75 پسوند فایل در 18 خانواده را مدیریت میکند — PDF، DOCX، XLSX، PPTX، DWG، DXF، PSD، VSDX، MPP، EML، MSG، EPUB، TIFF، PNG، JPEG و بقیه، از جمله DICOM از طریق افزونه جداگانهاش. نمایشگرهای رایگان در doconut.app 73 تا از آنها را میپذیرند: همه بهجز .dcm و .ima.
موتور فایل را بر اساس محتوا نه پسوندش شناسایی میکند، که مهمتر از آنچه به نظر میرسد است — تعداد زیادی از فایلهای با نام .xls در واقع جداول HTML یا CSV هستند.
یک نکته درباره صحت رندر وجود دارد، چون «پیکسلبهپیکسل» وعدهای است که هیچ رندرری نمیتواند آن را حفظ کند: اسنادی که به منابعی ارجاع میدهند که در خود ندارند، با آنچه نویسندهشان دیده متفاوت خواهند بود. قلمهایی که هرگز جاسازی نشدهاند جایگزین میشوند و ارجاعات خارجی یک DWG داخل خود DWG نیستند.
بارگذاری کشیدن‑و‑رها کردن با رندر فوری و بدون افزونه
سازمانها میخواهند کاربران بتوانند فایلها را در همان مکان پیشنمایش کنند. میتوانید یک ناحیه کشیدن‑و‑رها کردن اضافه کنید که یک سند را بارگذاری میکند، URL نمای امضاشدهای تولید میکند و نتیجه را بدون هیچ افزونهای در سمت کاربر نمایش میدهد. کل چرخه در پشتصحنه .NET شما باقی میماند — که این امکان را میدهد تا ردپای حسابرسی را حفظ کنید، زیرا ثبتلاگها متعلق به شماست.
جریان سمت‑کلاینت (مفهومی)
- کاربر فایلی را به ناحیه تعیینشده میکشد.
- جاوااسکریپت فایل را به نقطهٔ انتهایی ASP.NET Core میفرستد.
- نقطهٔ انتهایی فایل را بهصورت امن ذخیره میکند و URL نمای امضاشدهای برمیگرداند.
- صفحه یک
<div>باdata‑doc‑urlکه به آن URL اشاره دارد، تزریق میکند. - اسکریپت Doconut App سند را بهصورت آنی رندر میکند.
رندر بر روی سرور شما انجام میشود، بنابراین برای آن برنامهریزی کنید: اینجا جایی است که CPU و حافظه مصرف میشوند و مقیاسپذیری آن با تعداد نمایشگرهای همزمان است نه با تعداد کاربران. بررسی کنید SDK خروجی موقت رندر را کجا مینویسد و مطمئن شوید که چیزی آن را پاک میکند — فایلهای یتیم در یک پوشهٔ موقت رایجترین بخش نادیدهگرفتهشده در یک ادغام هستند.
مشاهدهٔ یکنواخت در گردشکارهای مبتنی بر ویندوز
یک نمایشگر مرورگر میتواند نقطهٔ ورودی یکسانی برای کاربران یک برنامه داخلی ویندوزی فراهم کند بدون نیاز به برنامههای دسکتاپ جداگانه. تیمها باید مرورگرهای پشتیبانیشده، اندازههای صفحه نمایش، روشهای ورودی، پیچیدگی سند و نیازهای دسترسپذیری را تست کنند بهجای اینکه فرض کنند رفتار یکسانی در هر محیطی وجود دارد.
گسترش نمایشگر با Blazor – نگه داشتن همه چیز در داخل اکوسیستم .NET شما
اگر تیم شما رویکرد متمرکز بر کامپوننت را ترجیح میدهد، میتوانید اسکریپت سمت‑کلاینت نمایشگر را در یک کامپوننت Blazor بپیچید، تحت هر یک از مدلهای میزبانی. این کار ادغام را در دنیای .NET نگه میدارد. توجه داشته باشید که مدل میزبانی فقط محل اجرای کد UI شما را تحت تأثیر قرار میدهد — رندر سند در هر صورت بر روی سرور باقی میماند.
طرح کلی کامپوننت Blazor (مفهومی)
- یک سرویس تزریق کنید که بتواند URL نمای امنی برای یک شناسهٔ فایل خاص تولید کند.
- در زمان مقداردهی اولیه، URL را از سرویس درخواست کنید.
- پس از رندر کامپوننت، نمایشگر را با استفاده از API ادغام پشتیبانیشده برای نسخهٔ نصبشدهٔ Doconut مقداردهی کنید.
کامپوننت Blazor میتواند وضعیت نمایشگر را هماهنگ کند در حالی که بکاند مسئول دسترسی و پردازش سند میماند. این کار گردشکار را در داخل برنامهٔ .NET نگه میدارد بدون اینکه فرضی دربارهٔ یک API جهانی جاوااسکریپت منتشر شود.
نکات کلیدی
- بدون افزونه موانع نصب، هشدارهای امنیتی و مشکلات سازگاری را حذف میکند.
- SDK 75 پسوند — PDF، Office، CAD، ایمیل و تصاویر — بر روی سرور رندر میکند، نه در مرورگر.
- ادغام: تولید URL نمای امضاشده در سمت سرور و نمایش صفحات بازگشتی در یک کانتینر.
- بارگذاری کشیدن‑و‑رها کردن بههمراه پیشنمایش در‑محل کاربران را در جریان کار نگه میدارد.
- رفتار آن در دسکتاپ، تبلت و موبایل یکسان است، زیرا مرورگر فقط خروجی استاندارد را نمایش میدهد.
- توسعهدهندگان Blazor میتوانند نمایشگر را در یک کامپوننت .NET بپیچند.
- امنیت یک معماری است، نه یک فهرست ویژگی: فایل منبع هرگز به کلاینت نمیرسد و سند هرگز از زیرساخت شما خارج نمیشود. رمزنگاری در حالت استراحت، انقضای URL امضاشده و ثبتلاگ حسابرسی به عهدهٔ شماست — و Doconut هیچ گواهی ISO 27001، SOC 2 یا HIPAA برای تکیه ندارد.
سوالات متداول
س: آیا نیاز به نصب چیزی روی ماشینهای کلاینت دارم؟
خیر. نمایشگر برنامه Doconut بهصورت کامل در مرورگر با استفاده از HTML5 و JavaScript اجرا میشود. کاربران فقط به یک مرورگر مدرن نیاز دارند—نیازی به نصب ActiveX، Java یا Flash نیست.
س: چگونه فایلهای بزرگ را مدیریت میکند؟
صفحات بهصورت پویا رندر و تحویل داده میشوند، بهطوری که خواننده میتواند به صفحهای بپرد بدون اینکه کل سند را صبر کند. توجه داشته باشید که این کار توسط سرور شما انجام میشود — با سنگینترین فایلهای واقعی خود تست کنید تا اندازه مناسب را تعیین کنید. در سایت رایگان doconut.app سقف ما بر اساس فرمت است: ۲۵ مگابایت برای PDF، ۱۰ مگابایت برای نقشه CAD.
امروز با برنامه Doconut شروع کنید
آیا آمادهاید تا افزونههای قدیمی را از برنامه .NET مبتنی بر ویندوز خود حذف کنید؟ SDK SDK Doconut را با مرورگرها، فرمتهای سند و بارهای کاری که سازمان شما استفاده میکند ارزیابی کنید.