انچه یاد میگیرم

به اشتراک میگذارم

غیر فعال بودن لینک ها در Area در ویژال استادیو 2017

دقیقا نمیدونم از کدام ورژن اما در یکی از ورژن های area  به ویژال استادیو 2017 اضافه شد 

در ورژن 15.7 که الان کار میکنم زمانی Area  اضافه کردم و یک کنترل با استفاده از Scaffolding به پوشه Controller  اضافه کردم اما زمانی در View  بر روی Create New  موس را حرکت میدهیم فقط به عنوان متن معمولی نمایش داده میشود.

InvalidOperationException: Unable to resolve service for type 'Microsoft.AspNetCore.Identity.UserManager`1[Project.Models.Account]' while attempting to activate 'Automobile.Server.Controllers.AuthController'.

طبق مطلب قبلی در خصوص استفادهاز چند لایه برای پروژه ما قسمت مدیریت کاربر و یا همان ApplicationUser را در پروژه Model  پیاده سازی کردیم 

و پروژه اصلی که یک پروژه Mvc Core بود را به عناون پروژه اصلی استفاده کردیم 

مشکلی که داشتیم استفاده از قسمت ثبت نام و ورود بود

اضافه کردن مدیریت کننده پکیج ها به MVC core 2 - قسمت اول

استفاده از Bower به عنوان یک مدیریت کننده پکیج ها در برنامه نویسی ویژال استادیو بسیار استفاده میشود، البته در ویژال استادیو 15.7 در صورتی که از Mvc core 2.1 استفاده نید میتوانید از مدیریت کننده بسته جدید ماکروسافت استفاده کنید البته خود ماکرو سافت اعلام کرده که این ابزرا جدید یک package manager  مانند bower و یا  nuget نیست 

در ا دامه استفاده از bower در ویژال استادیو خواهیم داشت 

 

استقاده ار پروژه ClassLibrary .netcore در پروژه .net 4.6

 

مشکلی که برخوردم این بود که برای پروژه آز دو پروژه دیگر استفاده کرده بودم که یکی از پروژه ها Class Library .net core 2  بود که از ان به ارجاع گرفته بودن برای پروژه wpf که با .net 4.6.1 استاند در حال پیاده سازی بود 

زمانی رفرنس از Class library  استفاده میکردم به پروژه wpf پیغام خطا دریافت میکردم که

 

targets 'netcoreapp2.0'. It cannot be referenced by a project that targets '.NETFramework,Version=v4.6.1'.


 

 

استفاده از Globalization در پروژه های WPF

در حال بررسی چند زیانه گردن پروژه های WPF  بودم که به این صفحه از Microsoftبر خوردم 

https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/wpf-globalization-and-localization-overview

در قسمت از صفحه توضیح داده که از روش  BAML  استفاده میکند ، و برای اجرا صحیح آن باید دستور  msbuild /t:updateuid RunDialog.csproj را اجرا کرد اما در اجرا با پیغام 

'msbuild' is not recognized as an internal or external command,

مواجه شدم 

استفاده از چند لایه پروژه و اتصال بانک اطلاعاتی

اتصال بانک اطلاعاتی در صورتی که از چند لایه در پروژه استفاده کنیم نیاز به مراحلی برا ی من داشت 

استفاده از Cache data در MVC API

یکی از بهترین راه های بهینه سازی در وب و وب سرویس ها Cach  کردن اطلاعات است.

ما برای Cach  کردن اطلاعات در MVC core  از مزاحل زیر استفاه خواهیم کرد.

API در MVC Core

به تازگی سفارشهایی داریم که مشتری هم وب سایت میخواد و هم در سفارش خود اظهار میکنه که در اینده برای پروژه خود اپلیکیشن های گوشی های هوشمند هم داشته باشد برای این بهترین  کار از نظر خودم پیاده سازی اولیه پروژه به صورت api  است و این api را در همین راستا با mvc core  پیاده کردم

نمایش نام کاربر به جای ایمیل آن پس از ورود به سایت

معمولا در پروژه های MVC بعد از ثبت نا م کاربر ایمیل آن در بالا صفحه نمایش داده میشود ، اگر بخواهیم نام کاربر نمایش داده شود چه کنیم

logoff زمانی که از area استفاده میکنید

برا ی مدیریت سایت و یا برنامه های جانبی برای شرکتها من از area  استفاده میکنم ، و خوب کاربر با دسترسی های خاص وارد کنترل پنل خودش میشود

اما مشکل اینه که زمانی از Login  خود mvc  استفاده کنید و خودتان آن را پیاده سازی نکرده باشید و روی دکمه خروج کلیک کنیدبه شما پیغا م میدهد که logoff  در زیر مجموعه area  وجود ندارد