نمایش خطاهای اعتبارسنجی سمت سرور ASP.NET Core در برنامههای Angular
در مطلب «فرمهای مبتنی بر قالبها در Angular - قسمت چهارم - اعتبارسنجی ورودیها» با نحوهی تنظیمات اعتبارسنجی سمت کلاینت برنامههای Angular آشنا شدیم. اما اگر مدل سمت سرور ما یک چنین شکلی را داشته باشد...
View Articleتعامل و انتقال اطلاعات بین کامپوننتها در Angular – بخش اول
یکی از مواردی که در پیاده سازی برنامههای «تا حدودی پیچیده» به آن برخورد میکنیم، نحوه تعامل و نقل و انتقال اطلاعات مشترک بین کامپوننتها و سرویسها میباشد. به عنوان مثال صفحهای را در نظر بگیرید که...
View Articleآپلود فایلهای Excel در ASP.NET MVC توسط ExcelDataReader
در برنامههای تحت وب، در بعضی موارد نیاز داریم تا برای کاربر، امکان ثبت دادههایش را با آپلود فایلهای Excel فراهم کنیم. برای مثال در مطلب خواندن اطلاعات از فایل اکسل با استفاده از LinqToExcel، امکان...
View Articleدریافت اطلاعات از پایگاه داده بواسطه Stored Procedure در EF Core 2.0
همواره در تکنولوژی EF CodeFirst، چه در ASP.NET MVC و چه در ASP.NET Core، استفاده از امکانات بومی پایگاههای داده با محدودیتهایی مواجه بودهاست. یکی از این اشکالات، عدم توانایی این تکنولوژی در گرفتن...
View Articleتعامل و انتقال اطلاعات بین کامپوننتها در Angular – بخش دوم
در قسمت قبل نحوه انتقال اطلاعات از کامپونت پدر به فرزند را از طریق متادیتای Input@ برسی کردیم. در اینجا نکات تکمیلی را مورد بحث قرار خواهیم داد.همانطور که قبلا مشاهده کردید، نام متغیر تعریف شده در...
View Articleنمایش در حال بارگذاری بودن صفحه در برنامههای Angular
پیشتر در مورد HTTP Client جدید Angular، مطلب «ارتقاء به HTTP Client در Angular 4.3» را بررسی کردیم. یکی دیگر از قابلیتهای HttpClient که روش اصلی دسترسی به اطلاعات از راه دور در Angular 5 نیز میباشد،...
View Articleمقدمهای بر داکر، قسمت سوم
در قسمت قبلیبا Volume آشنا شدیم و نحوهی اجرا کردن یک Source Code را درون Container یاد گرفتیم. در این قسمت میخواهیم یک Image شخصی ساخته، آنرا اجرا و درون Docker hub ارسال نماییم.Dockerfile...
View Articleبازسازی کد: جایگزینی متد با شیء (Replace method with method object)
زیبایی متدهای کوچک، در قابل درک بودن آنها نهفته است. هدف نهایی بیشتر روشهای بازسازی کد، تغییر تکه کدی بزرگ و در هم تنیده، به تکههای کوچک قابل درکتر است. مهمترین مانع در شکستن تکه کدهای طولانی، وجود...
View Articleصدور رخدادها از سرویسها به کامپوننتها در برنامههای Angular
در طراحی برنامههای Angular توصیه شدهاست تا هرگونه منطقی که مستقیما به View یک کامپوننت مرتبط نیست، به یک کلاس سرویس منتقل شود. در این بین ممکن است نیاز به صدور رخدادی از یک سرویس به خارج از آن باشد؛...
View Articleبررسی استراتژیهای تشخیص تغییرات در برنامههای Angular
وقتی تغییری را در اشیاء خود به وجود میآورید، Angular بلافاصله متوجه آنها شده و viewها را به روز رسانی میکند. هدف از این مکانیزم، اطمینان حاصل کردن از همگام بودن اشیاء مدلها و viewها هستند. آگاهی از...
View Articleکار با modal dialogs مجموعه Bootstrap در برنامههای Angular
در مطلب «Angular CLI - قسمت ششم - استفاده از کتابخانههای ثالث» با نحوهی دریافت، نصب و راه اندازی کتابخانهی ngx-bootstrapآشنا شدیم. در اینجا میخواهیم نحوهی کار با کامپوننت Modal آن را بررسی کنیم....
View Articleبررسی روش تعریف انقیاد دو طرفهی سفارشی در کامپوننتهای Angular
برخلاف AngularJS، در برنامههای Angular امکانات two way data binding به صورت پیشفرض ارائه نمیشوند تا از تمام مشکلات آن مانند digest cycle ،watchers و غیره خبری نباشد. اما گاهی از اوقات نیاز است...
View Articleپیاده سازی مکانیسم سعی مجدد (Retry)
فرض کنید در برنامهای که نوشتهاید، قصد فراخونی یک وب سرویس را دارید. به طور قطع نمیتوان همیشه انتظار داشت این سرویس مورد نظر بدون هیچ مشکلی اجرا شود و خروجی مورد نظر را بدهد. برای نمونه ممکن است در...
View Articleتزریق وابستگیها فراتر از کلاسها در برنامههای Angular
عموما تزریق وابستگیهای کلاسها، در برنامههای Angular صورت میگیرند. برای مثال در یک NgModule در قسمت providers آن نام کلاسی را معرفی میکنیم و سپس میتوان این کلاس را به سازندهی کامپوننتها تزریق...
View Articleایجاد تایمرها در برنامههای Angular
عموما در برنامههای جاوا اسکریپتی با استفاده از متدهای setTimeout و setInterval میتوان یک تایمر را ایجاد کرد. اما در برنامههای Angular با توجه به استفادهی از کتابخانهی RxJS، امکان ایجاد تایمرهای...
View Articleاحراز هویت و اعتبارسنجی کاربران در برنامههای Angular - قسمت اول - معرفی و...
قصد داریم در طی یک سری مطلب، یک کلاینت Angular 5.x را برای مطلب «اعتبارسنجی مبتنی بر JWT در ASP.NET Core 2.0 بدون استفاده از سیستم Identity» تهیه کنیم. البته این سری، مستقل از قسمت سمت سرور آن تهیه...
View Articleاحراز هویت و اعتبارسنجی کاربران در برنامههای Angular - قسمت دوم - سرویس...
در قسمت قبل، ساختار ابتدایی کلاینت Angular را تدارک دیدیم. در این قسمت قصد داریم سرویسی که زیر ساخت کامپوننت لاگین و عملیات ورود به سیستم را تامین میکند، تکمیل کنیم.تعریف تزریق وابستگی تنظیمات برنامه...
View Articleاحراز هویت و اعتبارسنجی کاربران در برنامههای Angular - قسمت سوم - ورود به...
پس از ایجاد AuthService در قسمت قبل، اکنون میخواهیم از آن برای تکمیل صفحهی ورود به سیستم و همچنین تغییر منوی بالای برنامه یا همان کامپوننت header استفاده کنیم. ایجاد ماژول Dashboard و تعریف کامپوننت...
View Articleاحراز هویت و اعتبارسنجی کاربران در برنامههای Angular - قسمت چهارم - به روز...
در قسمت قبل، عملیات ورود به سیستم و خروج از آنرا تکمیل کردیم. پس از ورود شخص به سیستم، هربار انقضای توکن دسترسی او، سبب خواهد شد تا وقفهای در کار جاری کاربر، جهت لاگین مجدد صورت گیرد. برای این منظور،...
View Articleاحراز هویت و اعتبارسنجی کاربران در برنامههای Angular - قسمت پنجم - محافظت...
در قسمت سوم، کار ورود به سیستم و امکان مشاهدهی صفحهی محافظت شدهی پس از لاگین را پیاده سازی کردیم. در این قسمت میخواهیم امکان دسترسی به مسیر http://localhost:4200/protectedPage را کنترل کنیم. تا...
View Article