برچسب گذاری دقیق query ها در Entity Framework Core


گاهی اوقات ممکن است کوئری هایی را در EF بنویسیم و دیتای زیادی را از دیتابیس فراخوانی کنیم و با بزرگ تر شدن پروژه احتمال این خطاها بیشتر میشود و تعداد کوئری ها نیز افزایش می یابد در نتیجه پیداکردن کوئری های سنگین سخت و یا غیرممکن میشود. اگر در SQL Profiler نیز ....
ادامه مطلب

نامعتبر سازی کوکی ها بعد از تغییر کلمه عبور کاربران


در Asp.Net Core به طور پیش فرض کوکی ها هر 30 دقیقه یک بار اعتبارسنجی میشوند. یعنی زمانی که کاربر به سایت لاگین میکند و اطلاعات خود را وارد میکند Claim های فعلی کابر در کوکی ذخیره میشود و میتواند به صفحه های مورد نظر خود دسترسی پیدا کند و تا 30 دقیقه اعتبارسنجی کوکی ها صورت نمیگیرد ....
ادامه مطلب

روشی برای محدود کردن API ها که هر درخواست با یک Key جدید قابل فراخوانی باشد ( Time-based One-time Password )


TOTP یک الگوریتمی است که از ساعت برای تولید رمزهای یکبارمصرف استفاده میکند. به این صورت که در هر لحظه یک کد منحصر به فرد تولید خواهد شد. اگر با برنامه Google Authenticator کار کرده باشید این مفهوم برایتان اشناست. در این مطلب میخواهیم سناریویی را پیاده سازی کنیم که برای ....
ادامه مطلب

بدست آوردن دیتاهای سلسله مراتبی در SQL


ساختار نظرات یک پست را در نظر بگیرید. هر شخصی میتواند برای هر پستی نظر بگذارد و هرشخص میتواند برای نظر دیگری یک نظر جدید وارد کند. نظرات به صورت پدر و فرزندی میباشد یعنی هر نظر میتواند چندین فرزند داشته باشد ولی هر نظر فقط یک پدر دارد و در نهایت میخواهید کل نظرات ثبت شده برای یک نظر خاص ....
ادامه مطلب

مدیریت خطاها ( Exception handling ) در Asp.Net Core 3.1


در این قسمت میخواهیم یک Middleware کلی برای مدیریت خطاها در برنامه ایجاد کنیم. یعنی زمانی که خطایی در هر کجا از برنامه رخ داد بتوانیم توسط این Middleware خطا را پیدا کنیم و پیغام مناسب را به کاربر نشان دهیم. نحوه کار این Middleware به این صورت است که در اوله خط میان افزارها ی ....
ادامه مطلب