نظرات مطالب
سفارشی سازی ASP.NET Core Identity - قسمت ششم - فارسی سازی پیام‌ها
با سلام و تشکر. آیا مقاله ای در مورد اینکه چطور این پروژه را در یک هاست ، قراردهیم و اصطلاحا بارگذاری نماییم وجود دارد؟ مشکل من این است که بعد از بارگذاری این مثال روی هاست (ایران هاست) این کارها را انجام دادم:
1. ساخت پایگاه داده در هاست
2. ساخت کاربر پایگاه داده در هاست
3. اصلاح کانکشن استرینگ در قسمت مربوطه در فایل appsettings.json
4. چک کردن اتصال به سرور توسط خود محیط SQL-Server management studio
5. پابلیش سایت
6. بارگذاری فایلهای پابلیش شده، روی هاست

در اینجا انتظار داشتم که سایت از طریق هاست بیاد بالا
ولی 403.14 میده.

ممنون میشم اگه کمک بفرمایید.
نظرات مطالب
سفارشی سازی ASP.NET Core Identity - قسمت پنجم - سیاست‌های دسترسی پویا
- مطلب آن فرد هندی که لینک دادید، به نظر از این مطلب استفاده کرده.
- برای دسترسی به اکشن متدهای محافظت شده‌ی با ویژگی خالی Authorize (بدون هیچگونه تنظیم دیگری)، تنها وجود شرط ورود به سیستم کافی است. اگر Policy یا Role خاصی بر روی آن‌ها اعمال شود، آنگاه آن شخص باید User Claims ویژه‌ای را داشته باشد تا بتواند شرایط آن Policy را تامین کند. در مورد نوشتن انواع و اقسام Policyهای سفارشی (چه بر اساس شرایط User Claims ثابت (policy => policy.RequireClaim) و چه پویا که به همراه AuthorizationHandlerها هستند) در این مطلب بحث شده و شما محدود به تنظیمات پیش‌فرض پروژه نیستید.
- مطلب «تنظیمات کش توزیع شده‌ی مبتنی بر SQL Server در ASP.NET Core» و خصوصا نظرات آن‌را مطالعه کنید.
نظرات مطالب
ایجاد جداول بهینه سازی شده برای حافظه در SQL Server 2014
بعد از ایجاد یک جدول بهینه سازی شده برای حافظه، هر یک دقیقه یک خطا در لاگ پایگاه داده ثبت میشه با این عنوان:

Disallowing page allocations for database 'MyDatabase' due to insufficient memory in the resource pool 'default'. See 'http://go.microsoft.com/fwlink/?LinkId=510837' for more information. 
با توجه به لینکی که داده Resource governor رو هم فعال کردم ولی مشکل حل نشد.
مشخصات سیستم:
OS:  Windows 10
Database: SQL Server 2017 - Resource governor is enable
Hardware: Dedicated local system with 16 GB RAM
نظرات مطالب
پَرباد - آموزش پیاده‌سازی پرداخت آنلاین در دات نت - تنظیمات
روش بهینه سازی شده تنظیم پایگاه داده در نسخه ۲.۱.۰

Database Initializer

Database Initializer همانطور که از نامش پیداست، به شما کمک می‌کند پایگاه داده پَرباد را به هر صورتیکه در نظر دارید راه اندازی کنید.

هدف از افزودن Database Initializer ها

از آنجایی که Entity Framework، پایگاه‌های داده زیادی را پشتیبانی می‌کند و هر کدام از آنها دارای شرایط، ویژگی‌ها و محدودیت های خاص خود هستند، شما می‌توانید پایگاه داده مورد نظر خود را آنطور که در نظر دارید ایجاد کنید. برای مثال پایگاه داده Sqlite طبق اعلام خود تیم Entity Framework دارای محدودیت‌هایی برای Migration است. به همین دلیل این پایگاه داده را نمی‌توان مانند SQL Server به راحتی Migrate کرد.

مواردی که توسط Database Initializer‌ها قابل استفاده هستند شامل:

  • Create Database
  • Delete Database
  • Migrate Database
  • Seed Database

نمونه مثال جهت تنظیم پایگاه داده به روش جدید:
services.AddParbad()
           .ConfigureDatabase(builder =>
           {
              // Choose your database provider (SQL Server, MySql, Sqlite, etc.)
              builder.Use....
           })
           .ConfigureDatabaseInitializer(builder =>
           {
              builder.UseInitializer(async context =>
              {
                  await context.Database.EnsureDeletedAsync();

                  // OR
                  await context.Database.EnsureCreatedAsync();

                  // OR
                  await context.Database.MigrateAsync();
              });
           });

در مثال بالا ابتدا در متد ConfigureDatabase نوع پایگاه داده مورد نظر خود را مشخص می‌کنیم.
سپس در متد ConfigureDatabaseInitializer تعیین می‌کنیم که پایگاه داده به چه صورتی باید ایجاد شود. همانطور که مشاهده می‌کنید، شما می‌توانید پایگاه داده را حذف، ایجاد و یا Migrate کنید.

همچنین جهت نوشتن راحتتر تنظیمات، متدهایی برای ایجاد، حذف و Migrate محیا شده که می‌توانید مانند زیر از آنها استفاده کنید:
services.AddParbad()
           .ConfigureDatabase(builder =>
           {
              // Choose your Entity Framework provider (SQL Server, MySql, Sqlite, etc.)
              builder.Use....
           })
           .ConfigureDatabaseInitializer(builder =>
           {
              builder.CreateDatabase();

              // OR
              builder.DeleteAndCreateDatabase();

              // OR
              builder.CreateAndMigrateDatabase();
           });

نکته ۱: اگر هیچکدام از متد‌های کمکی بالا برای شما مناسب نیستند، از همان روش اول یعنی UseInitializer استفاده کنید.
نکته ۲: Database Initializer ها، به همان ترتیبی که اضافه شده‌اند، اجرا خواهند شد.
نکته ۳: جهت سادگی در Migrate کردن پایگاه داده، در هنگام تنظیم پایگاه داده مورد نظر خود می‌توانید از متد UseParbadMigrations استفاده کنید.
مثال:
services.AddParbad()
           .ConfigureDatabase(builder =>
           {
              // SQL Server
              builder.UseSqlServer("Connection String", options => options.UseParbadMigrations());
           })
           .ConfigureDatabaseInitializer(builder =>
           {
              builder.CreateAndMigrateDatabase();
           });

متد UseParbadMigrations معادل متد زیر است:
builder.UseSqlServer("Connection String", options => options.MigrationsAssembly("Parbad"));


نمونه مثال‌ها را همچنین می‌توانید در صفحه GitHub پروژه مشاهده کنید. 
نظرات مطالب
تنظیمات کش توزیع شده‌ی مبتنی بر SQL Server در ASP.NET Core
با تشکر؛
"...برای مثال بجای ارسال یک کوکی حجیم بالای 5 کیلوبایت به کلاینت، فقط ID رمزنگاری شده‌ی آن‌را ارسال کرد و اصل کوکی را در داخل دیتابیس ذخیره و بازیابی نمود. این مساله هم مقیاس پذیری برنامه را افزایش خواهد داد ..."
آیا SQL SERVER جداول دیتابیس را در رم بارگذاری می‌کند؟ اگر پاسخ خیر است آیا درگیر کردن برنامه با با دیتابیس برای ذخیره این اطلاعات (کوکی ، سشن و... ) سربار ایجاد نمی‌کند؟
نظرات مطالب
افزونه نویسی برای مرورگرها : قسمت دوم : فایرفاکس
در مورد ذخیره سازی لوکال مرورگر که در بالا همان اول مقاله توضیح دادم و در کروم هم که گفتیم با کد زیر اینکارو انجام میدیم:
chrome.storage.local.set
chrome.storage.sync.set
این نکته را هم خاطرنشان کنم که در فایرفاکس ذخیره مقادیر  تا حجم حدودی 5 مگابایت میسر است
در مورد اتصال به دیتابیس sqlite میتونید از این لینک کمک بگیرید که به موارد دیگه هم لینک شده و اگر دقت کنید می‌بینید که میتوانید از کدهای ++c هم استفاده کنید و همینطور اینجا  هم که یک نفر پرسش کرده و یکی هم پاسخش را داده.
در مورد بقیه اتصالات به بانک هایی چون sql server و ... هم میتوانید از طریق api‌ها یا وب سرویس‌ها عمل کنید که نیاز به یک فایل jquery برای اتصال به آن‌ها دارید یا فریمورک‌های جاوااسکریپتی که در این زمینه مهیا شده است.
این مقاله هم ممکنه براتون جالب باشه
نظرات مطالب
استفاده از قابلیت پارتیشن بندی در آرشیو جداول بانک‌های اطلاعاتی SQL Server
با سلام و احترام
پیشنهاد می‌کنم مطلب "Download "Partitioned Table and Index Strategies Using SQL Server 2008" white paper " را مطالعه فرمائید. به منظور پیاده سازی این قابلیت در بانک اطلاعاتی تان یک راه حل می‌تواند اینگونه باشد که یک DB جدید ایجاد نمائید که در آن تمامی زیرساخت‌ها ایجاد شود (ایندکس، Partition Function و ...) در ادامه به انتقال داده‌های از بانک عملیاتی به DB جدید بپردازید. برای مشاهده جزئیات به این مطلب مراجعه نمائید.
نظرات مطالب
مهاجرت از SQL Membership به ASP.NET Identity
سلام ممنون از مطالب خوبتون .
زمانیکه در اپلکیشن خودم asp.net Configuration و تب Security را انتخاب می‌نمایم با پیغام زیر مواجه می‌شوم Unable to connect to SQL Server database.
دستور زیر را هم اجرا کردم
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regsql.exe -S . -A all -d tt -U sa_tt -P asd123
در صورتیکه از login و password آن مطمئن هستم ولی مشکل حل نشد
در صورتیکه مشکل از permission هست چگونه باید آن را حل کنم
webconfig برنامه به شرح زیر است
Data Source=.;Initial Catalog=tt;User ID=sa_tt;Password=asd123  

با تشکر
نظرات مطالب
بازسازی جدول MigrationHistory با کد نویسی در EF Code first
- مطلب جاری فقط برای حالتی است که جدول migration حذف شده یا وجود ندارد.
+ مطلب « ارتقاء به Entity framework 6 و استفاده از بانک‌های اطلاعاتی غیر از SQL Server » را باید دقیق مطالعه کنید. یک سری اسمبلی باید حذف شوند. تعدادی اضافه شوند. فایل کانفیگ حتما باید ویرایش شود و تعریف پروایدر را داشته باشد. این کارها را نیوگت به صورت خودکار انجام می‌دهد. ضمنا اینکار باید برای تمام زیر پروژه‌های شما نیز تکرار شود و طوری نباشد که دو کتابخانه از 4 استفاده کنند، دوتای دیگر از 5 و اصلی هم از 6. همه باید یک دست شوند و اسمبلی منسوخ شده قدیمی نیز حذف.
- اسمبلی EF به تنهایی کافی نیست ولی از اینجا به صورت جداگانه قابل دریافت است. باید دقت داشت که ارتقاء به نگارش 6 سه مرحله‌ای است که عنوان شد.
- از اینجا
نظرات مطالب
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 است)