افزایش سرعت Insert کردن رکورد ها در MVC
بسم الله الرحمن الرحیم
در این آموزش می خواهیم با روش جدید Insert کردن رکوردهایی با تعداد بالا به وسیله MVC آشنا کنیم و همچنین نحوه افزایش سرعت Insert کردن را فرا بگیریم.
EntityFramework.BulkInsert
یک extension برای Entity framework 4 به بالا است که سرعت Insert کردن شما در insert های عظیم تا 20 برابر افزایش می دهد.
این extension از روش Code First و Database First پشتیبانی می کند.
اضافه کردن متد به LINQ
بسم الله الرحمن الرحیم
می خواهیم به تمامی لیست هایی که از نوع double ایجاد می شوند یک متد برای پیدا کردن عنصر میانی آنها بنویسیم
public static class LINQExtension
{
public static double Median(this IEnumerable<double> source)
{
if (source.Count() == 0)
{
throw new InvalidOperationException("Cannot compute median for an empty set.");
}
var sortedList = from number in source
orderby number
select number;
int itemIndex = (int)sortedList.Count() / 2;
if (sortedList.Count() % 2 == 0)
{
//
Linq extension method
بسم الله الرحمن الرحیم
می خواهی
آموزش ASP.NET Identity
بسم الله الرحمن الرحیم
آموزش Asp.net Identity MVC (بخش اول)
آموزش Asp.net Identity (بخش دوم)
آموزش Asp.net Membership (رفع خطا)
معرفی ASP.NET Identity
در سال 2005 مایکروسافت ASP.NET Membership را معرفی کرد تا نیازهایی که تمامی برنامه نویسان برای احراز هویت و تعیین سطوح دسترسی کاربران داشتند را برطرف نماید.
در ابتدا سیستم ASP.NET Membership بسیاری از نیازهای برنامه نویسان را برطرف می نمود از جمله: ثبت نام، فراموشی کلمه عبور و تعیین گروه کاربر (هر کاربر می توانست در گروهایی همچون، Admin و سایر گروه هایی که شما تعریف می کردید قرار بگیرد) و... در نهایت این سیستم بسیار کمک بزرگی به برنامه نویسان کرد.
اما با گذشت زمان و تغییر و افزایش نیاز برنامه نویسان، سیستم ASP.NET Membership مشخص شد که دیگر پاسخگوی نیاز برنامه نویسان نیست بنابراین مایکروسافت سیستم جدیدی را با نام ASP.NET Identity را معرفی کرد که بسیار قدرتمندتر از سیستم ASP.NET Membership بود و همچنین امکانات جدیدی به آن اضافه شده بود ازجمله احراز هویت بر اساس سرویس های سایر سایتها و شبکه های اجتماعی مانند facebook, Google,.. و احراز هویت بر اساس سیستم های ارسال پیامک و امکانات دیگر که هر یک به نوبه خود جدید و بسیار مفید خواهند بود.
آموزش Asp.net Identity (بخش دوم)
بسم الله الرحمن الرحیم
با توجه به درخواست بسیاری از دوستان پس از نوشتن مقاله معرفی ASP.NET Identity، در خصوص نوشتن یک پروژه برای استفاده از Identity ASP.NET به صورت عملی بنده این مقاله را برای شما آماده کردم. انشالله مفید واقع شود.
آموزش Asp.net Identity MVC (بخش اول)
آموزش Asp.net Identity (بخش دوم)
آموزش Asp.net Membership (رفع خطا)
در آموزش قبلی شما با فرایند کار ASP.NET Identity آشنا شدید در این مقاله شما نحوه خواندن و بررسی اطلاعات کاربر را با استفاده از SQL Server آموزش خواهید دید.
Storing user information in a database
برای ذخیره اطلاعات در دیتابیس به وسیله ASP.NET Identity ما باید Package زیر را نصب کنیم:
Install-Package Microsoft.AspNet.Identity.EntityFramework
این Package برای ارتباط ما با SQL Server است که به وسیله آن می توانیم اطلاعات خود را دردیتابیس ذخیره کنیم و سپس اطلاعات خود را نیز از دیتابیس بخوانیم.
ایجاد کلاس برای نمایش اطلاعات کاربر
ASP.NET Identity به سادگی به شما اجازه می دهد که اطلاعات اضافی را برای کاربر خود ذخیره کنید. شما برای این کار باید از کلاس IdentityUser استفاده کنید و سپس Property های مورد نیاز خود را برای ثبت اطلاعات بیشتر برای هر کاربر تعریف کنید.
در این مثال ما علاوه بر اطلاعات کاربری فیلد country را نیاز داریم به همین دلیل این فیلد را به صورت زیر اضافه می کنیم:
public class AppUser : IdentityUser
{
public string Country { get; set; }
}
آموزش Authentication در MVC
بسم الله الرحمن الرحیم
آموزش Asp.net Identity MVC (بخش اول)
آموزش Asp.net Identity (بخش دوم)
آموزش Asp.net Membership (رفع خطا)
در بعضی مواقع ممکن است شما از نوع پیش فرض authentication نمی خواهید استفاده می کنید و دوست دارید یک احراز هویت اختصاصی برای خود داشته باشید. هر کاربر شما یک کاربر منحصر به فرد خواهد بود که مجموعه ای از سطوح دسترسی را برای دسترسی به بخش های مختلف وب سایت شما خواهد داشت. وقتی که کاربر شما تایید شود می تواند وابسته به Role هایی که دارد از منابع مختلف استفاده کند.
ASP.NET به وسیله دو interface به نام های، IPrincipal and IIdentity سطوح دسترسی و identity و Role را برای هر کاربر ارائه می دهد. شما می توانید یک سطح دسترسی اختصاصی برای خود به وسیله اینترفیس های IPrincipal and IIdentity، که در HttpContext باند شده اند ایجاد نمایید.
public class CustomPrincipal : IPrincipal { public IIdentity Identity { get; private set; } public bool IsInRole(string role) { if (roles.Any(r => role.Contains(r))) { return true; } else { return false; } } public CustomPrincipal(string Username) { this.Identity = new GenericIdentity(Username); } public int UserId { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string[] roles { get; set; } }
خطا Validation failed for one or more entities
بسم الله الرحمن الرحیم
طبیعتا تاکنون در حین اجرای پروژه با خطای زیر برخورد کردید:
Validation failed for one or more entities. See 'EntityValidationErrors' property for more details. Description:
An unhandled exception occurred during the execution of the current web request.
Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.Entity.Validation.DbEntityValidationException:
Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.
هر یک از شما دوستان ممکن است راه حل های زیادی برای حل این مشکل داشته باشید.
آموزش Asp.net Membership (رفع خطا)
بسم الله الرحمن الرحیم
آموزش Asp.net Identity MVC (بخش اول)
آموزش Asp.net Identity (بخش دوم)
آموزش Asp.net Membership (رفع خطا)
خطای زیر را مشاهده کنید: