‫۱۱ سال و ۸ ماه قبل، پنجشنبه ۳ اسفند ۱۳۹۱، ساعت ۰۳:۳۲
یک نکته تکمیلی دیگر:
<a href="/contactus?name=وحید نصیری" rel="nofollow">ارسال پیام خصوصی</a>
اگر در سایت لینک‌هایی دارید که نیاز به اعتبارسنجی و لاگین دارند، این‌ها را با rel=nofollow مشخص کنید تا توسط گوگل ایندکس نشوند و تمام آن‌ها به یک صفحه تکراری (از دیدگاه گوگل) ختم نگردند.
‫۱۱ سال و ۸ ماه قبل، چهارشنبه ۲ اسفند ۱۳۹۱، ساعت ۰۰:۵۹
- این خروجی SQL لاگ شده مطلب جاری (با تمام توضیحات و نگاشت‌های آن) توسط برنامه مطمئن SQL Server Profiler است:
SELECT 
[Extent1].[Id] AS [Id], 
[Extent1].[Body] AS [Body], 
[Extent1].[ReplyId] AS [ReplyId]
FROM [dbo].[BlogComments] AS [Extent1]
منطقی هم هست. چون در ToList اول، کار با دیتابیس تمام و قطع می‌شود. ToList دوم سمت کلاینت اجرا می‌شود. یعنی تشکیل درخت نهایی توسط امکانات LINQ to Objects انجام می‌شود و نه هیچ کار اضافه‌ای در سمت سرور.
- اگر اینجا join اضافی پیدا کردید ... حتما مشکلی در تنظیمات نگاشت‌ها دارید.
- اگر duplicate reader دارید شاید بخاطر lazy loading سایر خواص راهبری است که تعریف کردید مانند User و EditByUser و غیره. این‌ها اگر قرار است نمایش داده شوند، پیش از ToList اول باید توسط متد الحاقی Include به صورت eager loading تعریف شوند تا lazy loading و duplicate reader نداشته باشید.
- برای فیلتر فیلدهای اضافی، پیش از ToList اول، با استفاده از Projection و نوشتن یک Select، موارد مورد نیاز را انتخاب کنید.
‫۱۱ سال و ۸ ماه قبل، شنبه ۲۸ بهمن ۱۳۹۱، ساعت ۱۷:۵۶
- به سطر HandleErrorAttribute پیش فرض نیازی نیست (البته اگر تنظیمات وب کانفیگ درستی داشته باشید). در قسمت 16 سری MVC توضیح دادم. وجود آن سبب می‌شود که ELMAH اصلا کار نکند و خطای مدیریت نشده‌ای به آن ارجاع داده نشود (چون قبلا مدیریت شده‌).
- بله. همچنان ELMAH معتبر است. نکته فوق را هم اضافه کنید، کاملتر خواهد شد.
‫۱۱ سال و ۸ ماه قبل، جمعه ۲۷ بهمن ۱۳۹۱، ساعت ۲۲:۰۹
- اگر روی یک فیلد قرار است گروه بندی شود، فقط یکبار column.Group را تعریف کنید. مابقی تعاریف column.Group باید حذف شوند. بنابراین اگر پایه گروه بندی، فیلد ReceptionPatientId است، تعاریف مرتبط با آن را نگه دارید و سطر column.Group مابقی رو حذف کنید. همچنین فرض هم بر این خواهد بود که اطلاعات شما بر اساس فیلدهای شرکت کننده در گروه بندی پیشتر sort شده‌اند.
column.Group((val1, val2) =>
                     {
                         return (int)val1 == (int)val2;
                     });
- ضمنا الزاما نیازی نیست یک view رو تبدیل به datatable کنید برای استفاده در اینجا. دیتاسورس کار با sql server هم وجود دارد برای کارآیی و سرعت بیشتر.
- لطفا برای سؤالات بعدی از قسمت پرسش و پاسخ مرتبط با این پروژه در سایت استفاده کنید.
‫۱۱ سال و ۸ ماه قبل، سه‌شنبه ۲۴ بهمن ۱۳۹۱، ساعت ۱۸:۴۱
به صورت پیش فرض در ابتدا وجود موارد ذیل در یک درخواست بررسی می‌شوند:
<>*%&:\?
ولی در کل امکان تغییر موتور توکار آن هست:
<httpRuntime requestValidationType="CustomRequestValidation"/>

public class CustomRequestValidation : RequestValidator
{
   //...
}
‫۱۱ سال و ۸ ماه قبل، سه‌شنبه ۲۴ بهمن ۱۳۹۱، ساعت ۱۷:۰۹
خیر. سرور می‌تونه ری استارت یا خاموش بشه. امکان خیلی از اتفاقات دیگر هم هست که نیاز به راه اندازی مجدد و رسیدن اولین درخواست رو داره. در کل روش ارسال ping به سرور از طریق یک برنامه خارجی مطمئن‌ترین است.