نظرات مطالب
ساخت منوهای چند سطحی در ASP.NET MVC
سلام; در این روش (AOP Interceptors ) آیا میتوان موقع افزودن خبر جدید یا منو جدید یا ... کش سرویس مورد نظر رو غیرفعال کرد و پس از اولین لود دوباره اطلاعات کش شوند
مطالب
IIS7 و آپلود فایل‌های حجیم

با استفاده از IIS6 ویندوز سرور 2003 و تنظیمات ویژه در web.config یک برنامه ASP.Net، حداکثر می‌توان یک فایل 2 گیگابایتی را آپلود کرد (جهت مصارف اینترانتی). برای مثال:
<system.web>
<httpRuntime maxRequestLength="2097151" executionTimeout="900" />
</system.web>
2097151 کیلوبایت حداکثر مقداری است که اینجا می‌توان تنظیم کرد و بیش از این با خطای زیر متوقف خواهیم شد:

Parser Error Message: The value for the property 'maxRequestLength' is not valid. The error is: The value must be inside the range 0-2097151.

این محدودیت در IIS7 برطرف شده است که تنظیمات آن در وب کانفیگ به صورت زیر می‌باشد:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="4294967295" />
</requestFiltering>
</security>
</system.webServer>

در اینجا maxAllowedContentLength بر حسب بایت است و نه همانند maxRequestLength برحسب کیلوبایت (که در IIS7 هیچ تاثیری نخواهد داشت).
البته تنظیمات فوق در اینجا به پایان نمی‌رسند زیرا بر اساس تنظیمات امنیتی IIS7، کاربران مجاز به اعمال تنظیمات شخصی خود نیستند و خطای زیر را دریافت خواهند کرد:
The requested page cannot be accessed because the related configuration data for the page is invalid
و یا

The request filtering module is configured to deny a request that exceeds the request content length

برای این منظور باید دستور زیر را با دسترسی مدیریتی در خط فرمان اجرا نمود:
برای یک برنامه خاص:
%windir%\system32\inetsrv\appcmd set config "Default Web Site/<your app>" -section:requestFiltering -requestLimits.maxAllowedContentLength:4294967295

و یا برای تمام برنامه‌ها:
%windir%\system32\inetsrv\appcmd set config -section:requestFiltering -requestLimits.maxAllowedContentLength:4294967295

و یا فایل زیر را یافته:
%windir%\System32\inetsrv\config\applicationHost.config
در آن سطر زیر را
<section name="requestFiltering" overrideModeDefault="Deny" />
ویرایش کرده و مقدار overrideModeDefault آن‌را به Allow‌ تنظیم کرد:
<section name="requestFiltering" overrideModeDefault="Allow" />
مقدار پیش فرض maxRequestLength در IIS6 مساوی 4 مگابایت و مقدار پیش فرض maxAllowedContentLength در IIS7 مساوی 28.6MB‌ می‌باشد. maxAllowedContentLength از نوع UINT32 است یعنی حداکثر تا 4 گیگابایت را توسط آن می‌توان مقدار دهی کرد. maxRequestLength از نوع Int32 است با حداکثر مقدار قابل تنظیم 2 گیگابایت.



نظرات مطالب
ارسال ایمیل در ASP.NET Core
من برای کارهای شبیه آنچه شما می‌خواهید از یک ویندوز سرویس استفاده میکنم. در کنار هر سایت یک ویندوز سرویس دارم برای کارهای اینچنینی. سایت به ویندوز سرویس فرمان می‌دهد که کاری را انجام دهد.
خوبی ویندوز سرویس این است که همیشه در حال اجراست و مستقل از سایت کارش را انجام می‌دهد و اگر لازم باشد کارهای ارسالی از سایت را هم میتواند در صف نگهدارد برای انجام شدن.
نظرات مطالب
سفارشی سازی ASP.NET Core Identity - قسمت پنجم - سیاست‌های دسترسی پویا
« ... تمامی اکشن‌های مورد نیاز  ... »
این مورد نیازها را در لیست صفحه‌ی دادن دسترسی‌های پویا انتخاب کنید؛ چون به علت «مبهم بودن» قابل حدس زدن یا استخراج نیستند. ضمن اینکه هیچ الزامی وجود ندارد که یک شخص به تمام آدرس‌های قید شده‌ی در یک صفحه دسترسی داشته باشد و برنامه به صورت خودکار به تمام آن‌ها دسترسی کاملی را اعطا کند. هر نوع حدس زدنی در اینجا می‌تواند تبدیل به یک باگ امنیتی در دراز مدت شود.