کتاب ASP.NET MVC اقای بهروز راد از انتشارات پندار پارس که کتاب خوبی بود
کتاب مرجع کامل ASP.NET MVC از آقای بهروز راد، اما متاسفانه نام انتشارات را به خاطر ندارم.
پروژهها
برنامه IRIS PDF Editor
IRIS PDF Editor، برنامه ای تهیه شده با WPF هست. این برنامه در تکمیل سیستم مدیریت محتوای IRIS هست. یکی از موارد استفاده این سیستم برای من، قرار دادن فایلهای PDF هست. فایلهای PDF برای قرار گرفتن روی سایت، احتیاج به حذف لینکهای سایتهای دیگر و افزودن فوتر به فایل و همچنین تهیهی عکس از کاور فایل ،داشتند.
این عمل تکراری عموما با نرم افزارهای تجاری انجام میگرفت تا این که با توجه به نیازهای شخصی خود آن را نوشتم.
قابلیتهای این نرم افزار:
- حذف متن دلخواه از فایل
- قرار دان متن دلخواه به عنوان فوتر
- تهیهی عکس از صفحهی اول فایل
این امکانات عمدهی نرم افزار هست. ویرایش فایل pdf به کمک کتابخانهی iTextSharp و تهیهی عکس از فایلهای PDF، به کمک کتابخانهی GhostryScript که به صورت Native هست، امکان پذیر شده است.
امکان تهیهی عکس از فایل PDF این پروژه میتواند بسیار مفید باشد. در بعضی مواقع که هنگام اعمال گزارش گیری به فرم PDF، نرم افزار خاصی برای آن تدارک دیده نشده، میتوان گزارش مورد نظر را به عکس تبدیل کرده و سپس آن را به کاربر نمایش داد.
این نرم افزار همچنین drag and drop چندین فایل را نیز پشتیبانی میکند.
کار اصلی تهیهی wrapper برای GhostScript، توسط Richard Moss صورت گرفته، بنده نیز آن را کمی ویرایش و اصلاح و با کتابخانهی iTextSharp ترکیب کردم.
پیشتر مطلب «توزیع پروژههای ASP.NET MVC بدون ارائه فایلهای View آن» را در مورد ASP.NET MVC 5.x مطالعه کرده بودید. این روش پشتیبانی رسمی و توکاری نداشته و توسط افزونههای ثالث انجام میشود؛ به همراه تنظیمات و نکات خاص خودش. در ASP.NET Core 1.1، یک چنین امکانی به صورت توکار و صرفا با چند تنظیم ساده، در دسترس میباشد که در ادامه نحوهی فعال سازی آنرا بررسی خواهیم کرد.
فعال سازی پیش کامپایل Viewهای Razor در ASP.NET Core 1.1
در ادامه تغییرات فایل project.json و بستههای مورد نیاز جهت فعال سازی پیش کامپایل Viewهای Razor را در برنامههای ASP.NET Core 1.1 ملاحظه میکنید:
در اینجا کار فراخوانی عملیات پیش کامپایل، توسط فرمان dotnet razor-precompile در زمان publish پروژه انجام میشود.
بررسی ساختار خروجی نهایی پروژه پس از publish
پس از publish پروژه، اگر به خروجی آن دقت کنیم، فایل اسمبلی جدیدی، به نام xyz.PrecompiledViews.dll در آن اضافه شدهاست (که در اینجا xyz نام فضای نام اصلی برنامه است) و حاوی تمام Viewهای برنامه، به صورت کامپایل شدهاست:
اصلاح تنظیمات publishOptions فایل project.json
در اینحالت دیگر نیازی به ذکر پوشهی Views یا الحاق تمام فایلهای cshtml در حین publish نیست و میتوان این قسمت را حذف کرد:
فعال سازی پیش کامپایل Viewهای Razor در ASP.NET Core 1.1
در ادامه تغییرات فایل project.json و بستههای مورد نیاز جهت فعال سازی پیش کامپایل Viewهای Razor را در برنامههای ASP.NET Core 1.1 ملاحظه میکنید:
{ "dependencies": { "Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Design": { "version": "1.1.0-preview4-final", "type": "build" } }, "tools": { "Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Tools": { "version": "1.1.0-preview4-final" } }, "scripts": { "postpublish": [ "dotnet razor-precompile --configuration %publish:Configuration% --framework %publish:TargetFramework% --output-path %publish:OutputPath% %publish:ProjectPath%", "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] } }
بررسی ساختار خروجی نهایی پروژه پس از publish
پس از publish پروژه، اگر به خروجی آن دقت کنیم، فایل اسمبلی جدیدی، به نام xyz.PrecompiledViews.dll در آن اضافه شدهاست (که در اینجا xyz نام فضای نام اصلی برنامه است) و حاوی تمام Viewهای برنامه، به صورت کامپایل شدهاست:
اصلاح تنظیمات publishOptions فایل project.json
در اینحالت دیگر نیازی به ذکر پوشهی Views یا الحاق تمام فایلهای cshtml در حین publish نیست و میتوان این قسمت را حذف کرد:
"publishOptions": { "include": [ "wwwroot", //"**/*.cshtml", "appsettings.json", "web.config" ] },
در طی چند ماه گذشته، ریز نکاتی که برای ارتقاء به ASP.NET Core 3.0 مورد نیاز هستند، در ذیل مطالب مرتبط با هر کدام، جهت برقراری ارتباط منطقی و امکان مشاهدهی روند تغییرات هرکدام، به صورت مجزا و در طی نظراتی تکمیلی، به آن مطالب اضافه شدهاند. در ادامه برای داشتن یک دید کلی و سهولت دسترسی به آنها، لیست این موارد را نیز مشاهده میکنید:
پیشنیازهای کار با ASP.NET Core 3.0
خلاصه شدن ساختار فایلهای csproj
ارائهی یک Generic Host در نگارش سوم
تغییرات مسیریابی با معرفی endpoint routing
بالا رفتن کارآیی پردازش JSON
نکتهی مهمی در مورد توزیع برنامههای وب در IIS
تغییرات SignalR
تغییرات امنیتی نگارش سوم
تغییرات تنظیمات تعدادی از میانافزارها
تغییر مهم ابزارهای مرتبط با EF Core 3.0
پیشنیازهای کار با ASP.NET Core 3.0
خلاصه شدن ساختار فایلهای csproj
- ارتقاء به ASP.NET Core 3.0 و سرنوشت metapackageهای Microsoft.AspNetCore
- در NET Core 3x. دیگر بستههای نیوگت Shared framework به صورت جداگانه تولید و توزیع نمیشوند
ارائهی یک Generic Host در نگارش سوم
- ارتقاء به ASP.NET Core 3.0 و تغییرات نقطهی آغازین برنامه
- قالبی برای ایجاد سرویسهای پسزمینه به NET Core 3.0. اضافه شدهاست که بر اساس Generic Host کار میکند.
- محدود شدن امکان تزریق وابستگیها در سازندهی کلاس آغازین برنامه در ASP.NET Core 3.0
تغییرات مسیریابی با معرفی endpoint routing
- نام متدهای تعاریف مسیریابی تغییر کردهاند.
- تغییرات مورد نیاز در فایل آغازین برنامه جهت ارتقاء به Endpoint routing
- نحوهی تعریف بررسی سلامت برنامه بر اساس endpoint routing تغییر کردهاست.
- همچنین روش فعالسازی ASP.NET MVC نیز تغییر کردهاست.
بالا رفتن کارآیی پردازش JSON
نکتهی مهمی در مورد توزیع برنامههای وب در IIS
- نام بستهی npm سمت کلاینت مخصوص SignalR Core مجددا تغییر کردهاست.
- UseSignalR منسوخ شده اعلام میشود و با UseEndpoints جانشین خواهد شد.
تغییرات امنیتی نگارش سوم
- میانافزار جدید Authorization در ASP.NET Core 3.0
- امضای سازندهی تعدادی از سرویسهای توکار ASP.NET Core Identity 3.0 تغییر کردهاند.
- امضای اینترفیس ILookupNormalizer، توکار ASP.NET Core Identity 3.0 تغییر کردهاست.
- اگر NET Core 3 SDK. را نصب کنید، امکان ایجاد یک برنامهی Angular مبتنی بر Microsoft.AspNetCore.ApiAuthorization.IdentityServer به قالبهای پیشفرض آن اضافه شدهاست.
- تنظیمات کوکیهای سشن تغییر کردهاند.
- تمام Response.Body.Writeها در Action Resultها ممنوع شدهاند.
- هرجائی در برنامهی خود IHostingEnvironment دارید، باید به IWebHostEnvironment تبدیل شود.
اشتراکها
Rider 2022.2 منتشر شد
اشتراکها
بررسی تغییرات DevTools در Firefox 78
اشتراکها
روش طراحی یک موتور جستجوی شرطی
اشتراکها