نظرات مطالب
ویدیوهای آموزشی QT
از برنامه رایگان 7-zip استفاده کنید: http://www.7-zip.org ، با همین برنامه فشرده شده‌اند.
پاسخ به بازخورد‌های پروژه‌ها
سوال
با سلام
یک جدول ایجاد کنید با نام Image که بین جدول محصولات و جدول Image یک ارتباط یک به چند وجود داره

در مورد خرید شما میتونید برای پیاده سازی سبد خرید از کوکی استفاده کنید که کاربر بدون عضویت هم بتونه محصولات رو به سبد خرید اضافه کنه ولی موقع پرداخت نهایی کاربر حتما باید عضو سایت باشه(یا لاگین کنه یا ثبت نام) 
نظرات مطالب
نحوه ایجاد Sequence و استفاده آن در Sql Server 2012
سلام
شما قادر نیستید یک فیلد Identity را بروز رسانی نمایید، دستور set insert_identity Tablename on  به شما اجازه Insert به جدول بدون Identity را می‌دهد، برای اینکه بتوانید Gap مرتبط به فیلد Identity را در جدول برطرف کنید، در ابتدا از جدول مورد نظر خود یک کپی تهیه و جدول اصلی را Truncate کنید، سپس یک Sequencer ایجاد و محتویات جدول کپی را بوسیله Sequencer در جدول اصلی کپی نمایید.
فرض کنیم جدول اصلی Table_3 باشد، ابتدا آن را کپی می‌کنیم در جدولی به نام T
Select * into T from table_3
سپس دستور Truncate را روی جدول Table_3 اجرا کنید:
truncate table dbo.table_3
حال یک Sequence ایجاد کنید:
CREATE SEQUENCE testEventCounter
    AS int
    START WITH 1
    INCREMENT BY 1 ;
در ادامه محتویات جدول کپی را به جدول اصلی منتقل نمایید:
SET IDENTITY_INSERT table_3 on
INSERT INTO table_3 (ID, Descritp)
SELECT 
      NEXT VALUE FOR testEventCounter AS id
    , Descritp
FROM T

راه دیگر این است که به جای استفاده از Identity از Sequence در فیلد خود استفاده نمایید، بصورت زیر :
CREATE TABLE Table3
(
    ID int PRIMARY KEY CLUSTERED 
        DEFAULT (NEXT VALUE FOR SequenceTest),
    De nvarchar(300) NULL
) ;
GO

در هنگام ایجاد جدول Sequence را به فیلد ID ست کردیم.
حال هر زمانی که بخواهید می‌توانید فیلد ID را مطابق Sequence خود بروز رسانی کنید:
Update table3 set id=(NEXT VALUE FOR testEventCounter )

موفق باشید و امیدوارم مفید واقع شده باشد
نظرات مطالب
میان‌افزار جدید Authorization در ASP.NET Core 3.0
خطای 500، یعنی internal server error، یعنی بروز استثنایی در کدهای شما (و این مورد نیاز به بررسی دقیقی دارد). در مطلب «بررسی خطاهای ممکن در حین راه اندازی اولیه برنامه‌های ASP.NET Core در IIS» دو روش لاگ کردن آن‌ها ذکر شده‌اند. همچنین روش‌های دیگری هم برای لاگ کردن خطاها توسط «فریم ورک Logging» وجود دارد. به علاوه گاهی از اوقات بررسی محتوای response بازگشتی از سرور هم مفید است؛ یک نمونه. نکته‌ی «شبیه سازی customErrors در نگارش‌های دیگر ASP.NET» هم مفید است.
- در کل زمانیکه خطای 500 internal server error را دریافت می‌کنید، اگر برنامه را در حالت dotnet run اجرا کرده باشید، تمام خطاهای مرتبط، در پنجره‌ی کنسولی که باز است، لاگ می‌شوند. اگر از ویژوال استودیو استفاده می‌کنید، همین خروجی، در پنجره‌ی دیباگ آن هم درج می‌شود. مرور این خطاهای سمت سرور، برای رفع مشکل الزامی است. همچنین احتمال دارد خروجی خطاهای سمت سرور، در قسمت مشاهده‌ی محتوای response، در برگه‌ی ابزارهای توسعه دهندگان مرورگر هم ظاهر شود. آن‌را هم بررسی کنید. 
نظرات مطالب
فعالسازی Windows Authentication در برنامه‌های ASP.NET Core 2.0
یک نکته‌ی تکمیلی: فعالسازی IClaimsTransformation در حالت استفاده‌ی از HttpSys

اگر مثال انتهای بحث را برای حالت HttpSys اجرا کنید (مراجعه به فایل Program.cs و فعالسازی UseHttpSys کامنت شده)، و سپس اجرای برنامه توسط dotnet run (و نه IIS) به صورت مستقل، مشاهده خواهید کرد که GivenName در لیست Claims ظاهر نمی‌شود. یعنی IClaimsTransformation اجرا نشده‌است (برخلاف حالت اجرای برنامه توسط IIS که تصویر آن در انتهای بحث ارسال شده‌است).
برای فعالسازی کامل HttpSys (عدم استفاده از IIS و حالت‌های اجرای متکی به خود)، دو مرحله‌ی دیگر نیاز است:
الف) مشخص سازی HttpSysDefaults به عنوان DefaultAuthenticateScheme
services.AddAuthentication(options =>
{
   // for both windows and anonymous authentication
   //options.DefaultChallengeScheme = IISDefaults.AuthenticationScheme; // Use it for IIS
   options.DefaultChallengeScheme = HttpSysDefaults.AuthenticationScheme; // Use it for HttpSys
   options.DefaultAuthenticateScheme = HttpSysDefaults.AuthenticationScheme; // Use it for HttpSys
});
ب) ذکر اجباری متد ()app.UseAuthentication در متد Configure فایل آغازین برنامه. این مورد برای کار با IIS اجباری نیست.
پس از این دو تنظیم است که IClaimsTransformation در حالت استفاده‌ی از HttpSys به صورت خودکار اجرا خواهد شد.