با کلیک کردن روی دکمه «Launch the Editor» یک محیط ساده و سریع برای ویرایش فایلهای HTML، Js و Css به همراه امکان نمایش آنلاین نتایج برای شما فراهم میشود. نکته جالب دسترسی ساده به بسیاری از کتابخانههای معروف جاوااسکریپت است که به صورت خودکار به پروژههای شما اضافه میشوند. مدیریت نسخههای مختلف فایلها و ...
برای دسترسی به فایلهای استاتیک پروژههای کتابخانهای Razor نیازی به کوئری گرفتن نیست. publish نهایی چنین شکلی را دارد:
bin\Debug\net6.0\publish\wwwroot\_content\MyComponentName\image.png
/_content/MyComponentName/image.png
return File("/_content/MyComponentName/image.png", "image/png", "image.png");
- اگر نیاز به فعالسازی سمت سرور بود، نیاز است یکسری میانافزار هم اضافه شوند.
همچنین ReponseCache در این موارد اثری ندارد:
- حتما باید status-code خروجی 200 و یا Ok باشد.
- نوع درخواست باید head و یا get باشد.
- هدر از نوع authorization نباید حضور داشته باشد.
- اگر میانافزار فایلهای ثابت، پیش از میانافزار کش فعال شود، عملیات کش رخ نخواهد داد.
- در اینجا هدر تنظیم کوکی نباید حضور داشته باشد.
برای کامپایل مجدد فایلهای ویو (cshtml) در هنگام اجرای برنامه (runtime compilation) و مشاهده تغییرات اعمال شده بر روی آنها به صورت زیر عمل میکنیم:
- ASP.NET Core 2.2
services.AddMvc() .AddRazorOptions(options => options.AllowRecompilingViewsOnFileChange = true);
- ASP.NET Core 3.0 , 3.1
ابتدا بسته Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation به پروژه اضافه کرده و سپس از کد زیر استفاده میکنیم:
public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews() .AddRazorRuntimeCompilation(); //... }
سلام؛ یکی از مواردی که باعث شده همیشه در استفاده از react کمی تردید داشته باشم و angular رو ترجیح بدم، درج کدهای JSX در بین سایر کدها است. با این شیوه من احساس میکنم کار نهایی (به ویژه اگر تعداد خطوط کد طولانی شود) تمیز نخواهد بود و خوانایی و خطایابی کد دشوار خواهد شد. آیا امکان جداسازی کدهای JSX در فایلهای دیگری وجود ندارد؟ یا دلیلی وجود نداره که جداسازی انجام بشه؟
دوستان اگر تجربه ای در این زمینه دارند ممنون میشم من رو با نظرات خود راهنمائی کنند.
روشی که خود من در برنامه استفاده میکنم این است که تمام فایلهای mrt گزارشات را در یک پوشه قرار دادهام و یک viewer برای تمام پروژه دارم که با ارسال ReportId - شناسه گزارش مورد نظر- به آن صفحه، نوع گزارش، فایل mrt آن و دیتای آنرا مشخص کرده و گزارش را نمایش میدهم.
روش شما شاید در تعداد گزارشات محدود براحتی قابل مدیریت باشد ولی زمانی که تعداد گزارشات بیشتر شود، مدیریت آن سخت خواهد شد؛ به ویژه که بخواهید گزارش داینامیک تولید کنید.
پ.ن: در این سایت برای تشکر و ابراز علاقهمندی نسبت به مطلب یا پاسخی از سیستم امتیازدهی استفاده میشود؛ میتوانید از آن استفاده کنید.
تنها دلیلی که از این راه استفاده میکنم اینه که اگه از طرف کاربر فایل پاک شد من میتونم فایل پرینتی که دارم را آپلود کنم و اونو با آپدیتی که به کاربر میدهم در مکانی که برای پرینت استفاده میشه بگذارم و همین طور اگه اطلاعات تغییر کرد هم به همین شکل باشد.
اما اگر در فایلهای مختلف باشد باید کاربر با پشتیبانی تماس بگیره و بگه در کدوم فرم خطای مورد نظر را میده. این بهترین راه حلی بود که به ذهنم رسیده است و ممنون بابت جواب مشکل حل شد.
اما اگر در فایلهای مختلف باشد باید کاربر با پشتیبانی تماس بگیره و بگه در کدوم فرم خطای مورد نظر را میده. این بهترین راه حلی بود که به ذهنم رسیده است و ممنون بابت جواب مشکل حل شد.
در نگارشهای اول MVC، موتور View پردازش کنندهی صفحات aspx هم ارائه شده بود. این حذف در مطلب جاری، به همین مورد بر میگردد و تنها باقی نگه داشتن موتور razor ( برای مثال در تصویر سوم، به دنبال فایلهای aspx هم میگردد که اضافی است). در ASP.NET Core اساسا موتور رسمی برای پردازش صفحات aspx ارائه نشده. بنابراین نیازی به مطلب فوق نیست.
بسیار عالی. پیشنهاد میکنم کار شناسایی خودکار فایلهای ارث بری شده از IEntityTypeConfiguration رو به این ترتیب جهت سهولت کار انجام دهید.
var entityConfigurations = Assembly.GetAssembly(typeof(UserConfiguration)).GetTypes()
.Where(w => w.GetInterfaces()
.Any(x => x.IsGenericType && x.GetGenericTypeDefinition() == typeof(IEntityTypeConfiguration<>)))
.ToList();
foreach (var config in entityConfigurations)
{
dynamic configurationInstance = Activator.CreateInstance(config);
modelBuilder.ApplyConfiguration(configurationInstance);
}
ارتقاء به ASP.NET Core 3.0
در نگارش 3 دیگر از بستهی Microsoft.AspNetCore.Mvc.Razor.ViewCompilation پشتیبانی نمیشود. در اینجا برای برخورداری از مزایای پیشکامپایل فایلهای razor، پروژههای وب باید از SDK زیر
<Project SDK="Microsoft.NET.Sdk.Web"> ... </Project>
<Project SDK="Microsoft.NET.Sdk.Razor"> ... </Project>