‫۹ سال و ۸ ماه قبل، دوشنبه ۲۰ بهمن ۱۳۹۳، ساعت ۱۶:۴۵

[HttpGet] را از روی AddRole اول حذف کنید.

ضمنا زمانیکه فقط قصد نمایش یک Partial view را دارید، نیازی نیست حتما از Html.Action استفاده کنید؛ چون سربار بالایی دارد. هر بار فراخوانی Html.Action سبب راه اندازی مجدد سیکل پردازشی کنترلر جاری میشه. اگر فقط قصد نمایش ساده این‌ها است (بدون پاس دادن اطلاعات اضافه‌تری به آن‌ها)، از همان Html.Partial استفاده کنید. برای مثال در کدهای فوق سه مورد AddRole ، AddUser و RoleOfUser اضافی هستند. حذفشون کنید و این‌ها را با RenderPartial داخل View تعویض کنید. اون مورد RoleOfUser که پارامتر دریافت می‌کنه رو با یک ViewModel اطلاعاتش رو به View برای رندر ارسال کنید.

‫۹ سال و ۸ ماه قبل، دوشنبه ۲۰ بهمن ۱۳۹۳، ساعت ۱۶:۲۱
بدون دیدن کدهای شما نمیشه نظر داد. آیا در کنترلری که دارید از HttpGet روی اکشن متدها استفاده کردید؟ حذفش کنید بعد دوباره تست کنید. آیا روی اکشن متد از NonAction بجای ChildActionOnly استفاده کردید؟ کلا ویژگی‌های اضافه شده را باید دقیقا بررسی کنید.
‫۹ سال و ۸ ماه قبل، شنبه ۱۸ بهمن ۱۳۹۳، ساعت ۰۴:۱۶
شما به نظر پرسش و پاسخ‌های EF 12 رو نخوندید یکبار. خلاصه‌اش اینه: زمانیکه از یک ORM استفاده می‌کنید، اون ORM هست که لایه Data شما رو تشکیل می‌ده و لازم نیست که بازنویسی‌اش کنید. لایه بیزنس هم همون لایه سرویس هست (با اون ادغام شده). اگر در مثالی که زده شده، لایه سرویس داخلش فقط Add یا Get هست (که نتیجه‌ی کار با لایه‌ی دیتا رو در اختیار لایه UI قرار می‌ده)، مابقی رو به خلاقیت خواننده واگذار کرده تا خودش جاهای خالی رو پر کنه. مثلا محاسبات هم انجام بده یا کارهای دیگر. هدفش بیشتر این بوده نمایش بده چطور می‌تونید از لایه دیتا در لایه بیزنس استفاده کنید و به اون دسترسی پیدا کنید.
ضمنا سعی کنید دچار over engineering (مدام لایه جدید اختراع کردن) و طراحی باقلوایی نشید.

خوانایی این خروجی اهمیتی نداره چون برای ماشین درست میشه نه برای انسان. فرمت هم نداشته باشه بهتره چون حجم کمتری رو به خودش اختصاص می‌ده. ولی در کل باید خاصیت Indent تنظیم بشه، در صورت نیاز.

در مورد خروجی با پسوند xml هم باید مسیریابی جدید اضافه کنی که قبلا در نظرات همین بحث مطرح شده (اولین نظر به علاوه مورد robots.txt که در نظرات بعدی هست).

‫۹ سال و ۸ ماه قبل، سه‌شنبه ۷ بهمن ۱۳۹۳، ساعت ۲۱:۴۹
لایه سرویس با بقیه قسمت‌های برنامه درون یک app domain اجرا میشن. یعنی همینکه تنظیمات اولیه auto mapper رو در ابتدای برنامه انجام دادید، بقیه لایه‌ها هم می‌تونن ازش استفاده کنن. این تنظیمات singleton هستن. یعنی فقط یک وهله ازشون در کل طول عمر برنامه وجود داره.
‫۹ سال و ۸ ماه قبل، شنبه ۴ بهمن ۱۳۹۳، ساعت ۱۳:۲۵

من که کدی نمی‌بینم اینجا برای دیباگ و بررسی: آناتومی یک گزارش خطای خوب

ولی احتمالا نام خاصیت ViewModel شما با نام گروهی که تعریف کردید یکی نیست چون در مثال اول بین پارامتر string tech و کلاس زیر فرقی نیست:

public class SomeClass
{
  public string Tech {set; get;}
}

مشکل از این مثال یا این تقویم یا هیچکدوم نیست. مشکل از اینجا است که در حین Post، سیستم بایندینگ MVC میاد نگاه می‌کنه چه خواصی رو در کلاس PostViewModel داری (اسم این کلاس مهم نیست). زمانی که در اون خاصیت AddDate رو پیدا نکرد، خوب ... همه چیز تموم میشه. خاصیتی رو پیدا نکرده که اطلاعات دریافتی رو بهش بایند کنه، بنابراین خاصیت‌های شیء تو در تویی که درست کردی، خالی باقی می‌مونه. این نوع View مدل بیشتر برای حالت Get استفاده میشه نه حالت Post. برای حالت Get ایی که قراره در یک صفحه چند منبع داده رو به قسمت‌های مختلف اون بایند کنی.

البته MVC می‌تونه به یک شیء تو در تو هم اطلاعات رو در حالت Post بایند کنه. اینطوری model=> model.Post.AddDate (دو تا دات داره نه یکی). خودت باید دستی این چند سطح رو مشخص کنی (در متدهای For دار).

‫۹ سال و ۹ ماه قبل، چهارشنبه ۱۷ دی ۱۳۹۳، ساعت ۱۹:۳۰
گوگل اینقدر هوشمند هست که بتونه تشخیص بده الان درخواست یک فایل word رو داده ولی جوابش html هست یعنی یکجا کار مشکل داره و نمره‌ی منفی بهت می‌ده. بهتره وقت بذاری و مباحث اصلی SEO رو در سایت بخونی.
‫۹ سال و ۹ ماه قبل، چهارشنبه ۱۷ دی ۱۳۹۳، ساعت ۱۷:۰۲
مرجع رسمی مسیریابی در وب فرم‌ها عنوان می‌کنه که URL routing allows you to configure an application to accept request URLs that do not map to physical files. یعنی چون آدرس شما الان پسوند پیدا کرده، دیگه وارد سیستم مسیریابی نمیشه و به صورت یک فایل فیزیکی پردازش میشه. یعنی در مسیر و پوشه‌ای شبیه به آدرسی که نوشتید به دنبال اون فایل می‌گرده (که نیست و به همین جهت خطای 404 رو دریافت می‌کنید). البته با تنظیم RouteTable.Routes.RouteExistingFiles = true امکان تغییر این پیش فرض هست. در این حالت درخواست تمام فایل‌های فیزیکی وارد سیستم مسیریابی میشن. البته در این مورد خاص باید یک IRouteHandler بنویسید تا این درخواست فایل رسیده رو پردازش کنه.
SignalR محدود به وب نیست: نگاهی به گزینه‌های مختلف مهیای جهت میزبانی SignalR (در مورد سرور) و کلاینت دات نتی هم می‌تونه داشته باشه: نگاهی به SignalR Clients . حتی کلاینت جاوایی هم می‌تونه داشته باشه: استفاده از SignalR در اندروید