آیا راهی هست که در حالت Local این قابلیت تست بشه ؟ چون وقتی www رو به به آدرس Local اضافه میکنم Error میده : http://www.localhost:60760
نظرات مطالب
ویدیوهای آموزشی QT
از برنامه رایگان 7-zip استفاده کنید: http://www.7-zip.org ، با همین برنامه فشرده شدهاند.
پاسخ به بازخوردهای پروژهها
سوال
با سلام
یک جدول ایجاد کنید با نام Image که بین جدول محصولات و جدول Image یک ارتباط یک به چند وجود داره
در مورد خرید شما میتونید برای پیاده سازی سبد خرید از کوکی استفاده کنید که کاربر بدون عضویت هم بتونه محصولات رو به سبد خرید اضافه کنه ولی موقع پرداخت نهایی کاربر حتما باید عضو سایت باشه(یا لاگین کنه یا ثبت نام)
یک جدول ایجاد کنید با نام Image که بین جدول محصولات و جدول Image یک ارتباط یک به چند وجود داره
در مورد خرید شما میتونید برای پیاده سازی سبد خرید از کوکی استفاده کنید که کاربر بدون عضویت هم بتونه محصولات رو به سبد خرید اضافه کنه ولی موقع پرداخت نهایی کاربر حتما باید عضو سایت باشه(یا لاگین کنه یا ثبت نام)
سلام
سپس دستور Truncate را روی جدول Table_3 اجرا کنید:
حال یک Sequence ایجاد کنید:
در ادامه محتویات جدول کپی را به جدول اصلی منتقل نمایید:
شما قادر نیستید یک فیلد Identity را بروز رسانی نمایید، دستور set insert_identity Tablename on به شما اجازه Insert به جدول بدون Identity را میدهد، برای اینکه بتوانید Gap مرتبط به فیلد Identity را در جدول برطرف کنید، در ابتدا از جدول مورد نظر خود یک کپی تهیه و جدول اصلی را Truncate کنید، سپس یک Sequencer ایجاد و محتویات جدول کپی را بوسیله Sequencer در جدول اصلی کپی نمایید.
فرض کنیم جدول اصلی Table_3 باشد، ابتدا آن را کپی میکنیم در جدولی به نام T
Select * into T from table_3
truncate table dbo.table_3
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 )
موفق باشید و امیدوارم مفید واقع شده باشد
خطای 500، یعنی internal server error، یعنی بروز استثنایی در کدهای شما (و این مورد نیاز به بررسی دقیقی دارد). در مطلب «بررسی خطاهای ممکن در حین راه اندازی اولیه برنامههای ASP.NET Core در IIS» دو روش لاگ کردن آنها ذکر شدهاند. همچنین روشهای دیگری هم برای لاگ کردن خطاها توسط «فریم ورک Logging» وجود دارد. به علاوه گاهی از اوقات بررسی محتوای response بازگشتی از سرور هم مفید است؛ یک نمونه. نکتهی «شبیه سازی customErrors در نگارشهای دیگر ASP.NET» هم مفید است.
- در کل زمانیکه خطای 500 internal server error را دریافت میکنید، اگر
برنامه را در حالت dotnet run اجرا کرده باشید، تمام خطاهای مرتبط، در
پنجرهی کنسولی که باز است، لاگ میشوند. اگر از ویژوال استودیو استفاده
میکنید، همین خروجی، در پنجرهی دیباگ آن هم درج میشود. مرور این خطاهای
سمت سرور، برای رفع مشکل الزامی است. همچنین احتمال دارد
خروجی خطاهای سمت سرور، در قسمت مشاهدهی محتوای response، در برگهی ابزارهای توسعه دهندگان مرورگر هم ظاهر شود. آنرا هم بررسی کنید.
یک نکتهی تکمیلی: فعالسازی IClaimsTransformation در حالت استفادهی از HttpSys
اگر مثال انتهای بحث را برای حالت HttpSys اجرا کنید (مراجعه به فایل Program.cs و فعالسازی UseHttpSys کامنت شده)، و سپس اجرای برنامه توسط dotnet run (و نه IIS) به صورت مستقل، مشاهده خواهید کرد که GivenName در لیست Claims ظاهر نمیشود. یعنی IClaimsTransformation اجرا نشدهاست (برخلاف حالت اجرای برنامه توسط IIS که تصویر آن در انتهای بحث ارسال شدهاست).
برای فعالسازی کامل HttpSys (عدم استفاده از IIS و حالتهای اجرای متکی به خود)، دو مرحلهی دیگر نیاز است:
الف) مشخص سازی HttpSysDefaults به عنوان DefaultAuthenticateScheme
ب) ذکر اجباری متد ()app.UseAuthentication در متد Configure فایل آغازین برنامه. این مورد برای کار با IIS اجباری نیست.
پس از این دو تنظیم است که 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 });
پس از این دو تنظیم است که IClaimsTransformation در حالت استفادهی از HttpSys به صورت خودکار اجرا خواهد شد.
در حال حاضر الگوی MVP یکی از محبوبترین الگوهای طراحی در این زمینه میباشد که در این مثال دو تا از اکتیویتیها را با این الگو طراحی کردند.
اشتراکها