نظرات مطالب
ASP.NET MVC #13
بله. مشکلی نداره. در EF Code first از Data Annotation‌ها حداقل به سه منظور استفاده میشه:
الف) کنترل ساختار دیتابیس تشکیل شده. مثلا طول فیلد رشته‌ای چقدر باشد.
ب) اعتبار سنجی سمت سرور. اگر فیلدی رو required تعریف کردید، هم به صورت not null در سمت بانک اطلاعاتی تشکیل خواهد شد و هم پیش از ثبت، توسط EF به صورت خودکار اعتبار سنجی می‌شود.
ج) تعریف روابط بین جداول. مثلا می‌شود توسط آن‌ها کلید خارجی را تعریف کرد و مواردی از این دست.

ViewModel هم باید Data Annotation مختص به خودش را داشته باشد. حداقل روی اعتبار سنجی سمت کلاینت می‌تونه تاثیرگذار باشه چون به صورت خودکار توسط MVC اعمال می‌شود.
بازخوردهای دوره
مثال - نمایش بلادرنگ تعداد کاربران آنلاین توسط SignalR
با سلام.
آیا این امکان وجود داره که تعداد افراد آنلاین توی وب سایت رو دو ساب دامین ادمین نمایش داد؟ با فرض اینکه هاب‌ها در کلاس لایبری هستند که هر دو پروژه بهش دسترسی دارن
نظرات مطالب
بهبود امنیت CSP با استفاده از معرفی هش‌های اسکریپت‌های Inline
یک نکته‌ی تکمیلی: استفاده از nonce بجای هش

روش دیگری هم برای مشخص کردن اسکریپت‌ها و شیوه‌نامه‌های inline وجود دارد که nonce نامیده می‌شود. nonce، یک مقدار منحصربفرد است که باید به ازای هر درخواست، یکبار دیگر به صورت خودکار، مجددا تولید شود (اگر ثابت باشد، مهاجم می‌تواند مقدار مشخص آن‌را به اسکریپت‌های خودش اضافه کند):
script-src 'nonce-rAnd0m'
یعنی قبل از هرکاری باید میان‌افزاری که کار تولید CSP Headers فوق را انجام می‌دهد، این مقدار را تولید کند. سپس می‌توان این مقدار را به ویژگی nonce برای مثال تگ اسکریپت، اضافه کرد:
<script nonce="rAnd0m">
</script>
مزیت آن، عدم نیاز به محاسبه و یا درج هش این قطعه اسکریپت، مطابق نکات مطلب جاری است؛ اما باید به صورت پویا به ازای هر درخواستی، مجددا در سمت سرور، تولید شود. همچنین تولید مجدد این مقدار، با کش شدن اطلاعات صفحه در تضاد است و باید به آن دقت داشت.

اگر از کتابخانه‌ی NetEscapades.AspNetCore.SecurityHeaders استفاده می‌کنید، فراخوانی متد WithNonce آن:
builder.AddScriptSrc().Self().WithNonce()
به صورت خودکار هدر مرتبط را تولید می‌کند. همچنین مقدار تولیدی آن‌را نیز در HttpContext.Items، درج می‌کند:
HttpContext.Items["NETESCAPADES_NONCE"]
به این روش، برای مثال یک Tag Helper و یا قسمت دیگری از برنامه که کار مقدار دهی nonce را به عهده دارد، می‌تواند به مقدار خودکار تولید شده‌ی توسط میان‌افزار، دسترسی داشته باشد (ابتدا میان‌افزار CSP اجرا می‌شود و سپس کار رندر صفحه به صورت جداگانه‌ای انجام می‌شود).

یک نکته: هنگام درج مقدار nonce در attributes، به HTML encoding آن دقت داشته باشید؛ این مقدار نباید encode شود (یا تغییر کند).
نظرات مطالب
نحوه ارتقاء برنامه‌های موجود MVC3 به MVC4
من از این کلاس شما در mvc 4 استفاده کردم اوکی بودش اما الان در 5 دارم استفاده میکنم تمام فایل ها 
این شکلی میشن.
debug هم false کردم
 <script src="/Asset/Scripts/js?v="></script>
 <script src="/Asset/Scripts/JQuery/Zebra/js?v="></script>
 <script src="/Asset/Scripts/Angular/Asset/js?v="></script>
مشکل از کجا میتونه باشه ؟ ممنون 
نظرات مطالب
استفاده از چندین Context در EF 6 Code first
من می‌خواستم جداولی که توسط Identity تو برنامه درست میشه رو با جدول هایی که واسه پیاده سازی بخش‌های مختلفی بودن به این روش ادغام کنم که بتونم اعتبار سنجی و سطح دسترسی کاربرا رو تشخیص بدم برای هر درخواستی که داره به برنامه میاد . این روش روش مناسبی هست برای این کار ؟ یا شما روش دیگه ایی پیشنهاد می‌کنید ؟
نظرات مطالب
تاریخ شمسی با Extension Method برای DateTime
سلام
نه Culture با Time Zone فرق داره، برای تغییر Time Zone باید جداگانه تغییرات رو انجام بدید.
یکی از دلیل هایی که این دو رو با هم ترکیب نکردن این هست که زبان یک برنامه یا تقویم اون برنامه به منطقه ای که اون نرم افزار استفاده میشه مرتبط نیست و ممکنه تو هر منطقه زمانی باشه، که باید به اون منطقه زمانی ست بشه.
نظرات مطالب
BloggerToCHM 1.3
سلام، بنظرم اومد که اگه این برنامه امکانی داشته باشه تا کاربرای برنامه بتونن تقریبا مثل خود بلاگر آخرین کامنت ها رو فهرست شده نشون بده مثل لیستی که تو صفحه اول فایل خروجی وجود داره و الان پست ها رو فهرست کرده یا شبیه به اون باشه برای خواندن نظرات امکان خیلی مناسبی میشه.
اشتراک‌ها
دریافت کتاب Node.js in Action
جاوا اسکریپت سمت سرور؟ Node.js جاوا اسکریپت سمت سرور است که توانایی پشتیبانی از برنامه‌های تحت وب مقیاس پذیر و عملکرد بالا را دارد. با استفاده از I/O ناهمگام، سرور توانایی انجام بیش از یک کار در یک لحظه را دارد که این یک احتیاج کلیدی برای برنامه‌های بلادرنگ تحت وب به مانند چت، بازی‌ها و آمار‌های لحظه به لحظه است. همچنین چون زبان برنامه نویسی جاوا اسکریپت است، شما تا انتها هم از همین زبان برای برنامه نویسی استفاده می‌کنید. 
دریافت کتاب Node.js in Action
نظرات مطالب
افزودن و اعتبارسنجی خودکار Anti-Forgery Tokens در برنامه‌های Angular مبتنی بر ASP.NET Core
ممنون از راهنماییتون

موارد رو انجام دادم، با توجه به جدا بودن دامین API و FRONT یه مشکلی برخورد کردم. 
با زدن درخواست کوکی XSRF-TOKEN ساخته میشه، ولی وقتی درخواست POST میزنم X-XSRF-TONEK توی هدر درخواست اضافه نمیشه
- XsrfInterceptor رو اضافه کردم، توی Module برنامه تعاریف رو انجام دادم
- سمت سرور اومدم کوکی رو به صورت زیر تغییر دادم:
var xsrfTokenCookie = new HttpCookie("XSRF-TOKEN")
{
     Value = ComputeXsrfTokenValue(),
     HttpOnly = false, // Now JavaScript is able to read the cookie
     Path = "/",
     Domain = "localhost"
};
- Cross Origin رو متناسب با دامنه فعال کردم
- حتی از طریق proxy.config آدرس API رو ست کردم
ولی متاسفانه باز جوابی نگرفتم. میخواستم ببینم نکته ای وجود داره که رعایت نکرده باشم در این زمینه؟
نظرات مطالب
نحوه اجباری کردن استفاده از WWW در ASP.NET MVC
- درباره فایل‌های استاتیک که داخل پرانتز توضیح دادم که حالت کلی رو در نظر گرفتم. وگرنه اگه بخوایم همه جزئیات و حالت‌ها رو در نظر بگیریم خودش شاید یه مقاله طولانی و مفصل بشه (اگه فرصتی پیدا کنم سعی میکنم درباره ش بنویسم). در مورد UrlRewrite هم دقیقا همین کاری که شما با فیلتر فوق انجام میدید، در اون حالت با UrlRewrite انجام میدیم. متوجه منظورتون نشدم که تفاوت نتیجه‌ها کجاست؟
- در مورد IIS حق با شماست. خوب من اینطور فرض کردم که کسی که برنامه ای با ASP.NET MVC 3 مینویسه، حداقل به یه سرور با IIS 7 دسترسی داره. ولی در حالت کلی گفته شما صحیحه. خوب در مورد HttpModule و UrlRewrite هم کاربر تنها یک بار ریدایرکت میشه. واقعا متوجه نشدم که منظورتون از «تمام آدرس‌های سایت بازنویسی شوند» چیه.
- درسته متوجهم.
چرا کاملا درسته. در کنار این روش بنده هم دو تا روش دیگه (که به نظر شخصی خودم ساده‌تر و کاراتر هستن) رو معرفی کردم. هر سه تاشون عملا یه نتیجه دارن، با تفاوت تو روش رسیدن به نتیجه.