نظرات مطالب
چطور مسیریابی‌های ASP.NET MVC را دیباگ کنیم؟
مرسی جناب نصیری بابت این مطلب.

در اپدیت 2 دیگه نیازی به افزودن اون خط ذر فایل Global.asax.cs  نیست. کافیه با دستور زیر در package manager console اون رو اضافه کنیم :

PM>Install-Package routedebugger
و به صورت خودکار خط زیر در appConfig اضافه میشه:
<add key="RouteDebugger:Enabled" value="true" />
اگر هم به صورت دستی اضافه کنیم باید این خط رو خودمون اضافه کنیم. حالا با مقدار true و false میشه RouteDebugger  رو فعال یا غیر فعال کنیم.
نظرات مطالب
انجام کارهای زمانبندی شده در برنامه‌های ASP.NET توسط DNT Scheduler
سلام؛ میخوام هر 15 ثانیه یک بار کدم اجرا بشه. این کارو کردم اما نشد:
return now.Second % 15 == 0 && now.Second == 1;
لطفا راهنمایی کنید.

<add key="SiteRootUrl" value="http://localhost:10189/Default.aspx" />
«همینکه درخواست مجددی به این صفحه برسد، مجددا برنامه توسط IIS بارگذاری شده و اجرا می‌گردد. به این ترتیب وظایف تعریف شده، در طول یک روز بدون مشکل کار خواهند کرد.»

- یعنی صفحه ایندکس سایت را بهش بدیم مشکلی پیش نمیاد.
- اگر برنامه در حال انجام کار باشه بعد یک کاربری وارد سایت بشه کد در حال اجرا از کار میفته یا فقط تایمرو زنده نگه میداره

با تشکر
نظرات مطالب
استفاده از قابلیت پارتیشن بندی در آرشیو جداول بانک‌های اطلاعاتی SQL Server
جناب رجبی یه سوال در رابطه با pk دارم اونم این هست که پریمری کد را روی دو فیلد گذاشتید که کلاستر هست
حالا سوال این هست که گذاشتن دو فیلد به عنوان یک پریمری کد چقدر در حجم و کارایی تاثیر داره ؟
اگه سه تا بشه چطور ؟
CONSTRAINT PK_Orders PRIMARY KEY CLUSTERED (OrderID ASC, OrderDate ASC)

و همینطور میشه مثالی بزنید که بشه ایندکس را هم به صورت پریمری به جدول اضافه کرد که ایندکس‌ها در فایل‌ها تقسیم بشن دقیقا مثل pk بالا؟
نظرات مطالب
بهینه سازی سرعت یافت ویوها با سفارشی سازی Lookup Caching در Razor View Engine
ضمن تشکر از ایده‌ای که مطرح کردید. طول عمر httpContext.Items فقط محدوده به یک درخواست و پس از پایان درخواست از بین می‌ره. مثلا یکی از کاربردهاش ذخیره اطلاعات Unit of work در طول یک درخواست هست و بعد از بین رفتن خودکار آن. بنابراین در این مثال cache.GetViewLocation اصلی بعد از یک درخواست مجددا فراخوانی میشه، چون GetRequestCache نه فقط طول عمر کوتاهی داره، بلکه اساسا کاری به key متد GetViewLocation نداره. کار s_key تعریف شده عموما تعریف lock هست نه استفاده ازش به عنوان کلید دیکشنری. بنابراین اگر خود MVC از HttpContext.Cache استفاده کرده، کار درستی بوده، چون به ازای هر درخواست نیازی نیست مجددا محاسبه بشه.
نظرات مطالب
ASP.NET MVC #22
با سلام؛ بلافاصله بعد از استفاده (ایجاد) Index_cshtml. fa .resx خطای زیر به وجود می‌آید
|Error1Task could not find "AL.exe" using the SdkToolsPath "" or the registry key 
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools-x86".
 Make sure the SdkToolsPath is set and the tool exists in the correct processor specific location 
under the SdkToolsPath and that the Microsoft Windows SDK is installed MvcAppProject
به نظرتان اشکال کجاست؟ راه حل چیست؟
نظرات مطالب
ASP.NET MVC #17
خلاصه موارد ممکن:
- در یک صفحه چندبار از Html.AntiForgeryToken استفاده شده‌است. این مورد کوکی آنتی‌فورجری را تخریب می‌کند و نهایتا اطلاعات آن قابل رمزگشایی و مقایسه در سمت سرور نخواهد بود.
- تنظیم AntiForgeryConfig.SuppressIdentityHeuristicChecks = true را به فایل global.asax.cs نیز اضافه کنید. آنتی‌فورجری توکن وضعیت کاربر لاگین شده به سیستم را نیز نگهداری و رمزنگاری می‌کند. در این حالت اگر در یک برگه‌ی دیگر لاگ آف کنید و در برگه‌ی قبلی سعی در ارسال فرم، آنتی‌فورجری توکن یک پیام خطا را نمایش می‌دهد. با تنظیم SuppressIdentityHeuristicChecks = true این بررسی وضعیت لاگین شخص حذف خواهد شد.
- حالت تنظیم machine key یاد شده، در یک web farm با چندین سرور ممکن است رخ دهد. اگر چنین حالتی را ندارید، تنظیمی را تغییر ندهید.
نظرات مطالب
Identity و مباحث مربوط به آن (قسمت اول) - آشنایی با Identity
این موضوع بستگی به سناریو شما داره
اما معمولا در بیشتر مواقع Identity را به شکل Unique در نظر می‌گیرند ذکر این نکته هم ضروری است که 
1- در SQL Server معمولا Primary Key بوسیله یک Unique Clustered Index هندل می‌شود 
(هر چند می‌شود اون رو به صورت یک Unique Non Clustered Index در نظر گرفت)
2- Clustered Index ترتیب و چینش فیزیکی رکوردها را مشخص می‌کند یعنی اگر Identity به عنوان کلاستر ایندکس باشد
چینش و ترتیب فیزیکی رکوردها بر اساس Identity خواهد بود (سطح leaf Level مربوط به ایندکس که در کلاستر ایندکس همان Data Level است) 
نظرات مطالب
EF Code First #3
- در متن فوق قسمت ششم توضیح داده شده: «اگر علاقمند نیستید که primary key شما از نوع identity باشد، می‌توانید از گزینه DatabaseGeneratedOption.None استفاده نمائید»
- ضمنا این روش کار نیست برای انتقال اطلاعات. اگر از sql server 2008 استفاده می‌کنید، امکان تهیه خروجی به صورت اسکریپت را دارد. یکی از نکاتی که در این اسکریپت لحاظ می‌شود، دو دستور IDENTITY_INSERT  زیر است که با SQL CE هم کار می‌کند:
SET IDENTITY_INSERT [table1] ON;
GO
INSERT INTO [table1] ([Id],...) VALUES (1,...);
GO
SET IDENTITY_INSERT [table1] OFF;
GO
برای اجرای اسکریپت نهایی می‌تونید از sql ce toolbox استفاده کنید.

نظرات مطالب
EF Code First #2
با سلام و تشکر بخاطر مقالات مفید EF
بنده طبق مثال مقاله پیش رفتم و متادیتاهای Key و Required را اضافه کردم اما با متادیتای MaxLength به مشکل خوردم .
ویژوال همچین پیغامی میده :
/*
The type 'System.ComponentModel.DataAnnotations.MaxLengthAttribute' exists in both
'c:\Program Files\Microsoft ADO.NET Entity Framework 4.1\Binaries\EntityFramework.dll'
and
'c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.ComponentModel.DataAnnotations.dll' */

نظرات مطالب
مروری بر کاربردهای Action و Func - قسمت دوم
در متن توضیح دادم «... الگوی تکراری زیر باید طی شود ...».
برای خواندن اطلاعات از کش سیستم، این الگوی تکراری در هرجایی از برنامه باید انجام شود:
الف) ابتدا باید به شیء Cache مراجعه شود. شاید بر اساس یک key مفروض، اطلاعاتی در آن موجود باشد.
ب) اگر نبود (قطعه if تعریف شده)، باید به یک منبع داده مشخص، مراجعه و اطلاعات دریافت شود. سپس این اطلاعات در کش برای دفعات مراجعه بعدی ثبت گردد.
ج) اطلاعات نهایی بازگشت داده شود.

در اینجا قسمت مراجعه به منبع داده، توسط Func به استفاده کننده از متد CacheRead واگذار شده است. به این صورت ما فقط می‌دونیم که یک تابع در اختیار این متد قرار خواهد گرفت که در زمان مناسب می‌شود آن را فراخوانی کرد.
مثلا در مثالی که در انتهای بحث است یک نمونه از کاربرد آن‌را مشاهده می‌کنید.