در قسمت های قبلی دوره ASP.NET CORE 8 در خصوص کنترلر – Controller و ویو – View به صورت کامل صحبت کردیم و در این آموزش قصد داریم تا Controller Attributes ها را معرفی کنیم. و همچنین در خصوص Controller ها مباحث جدیدی را ارائه دهیم.
اتربیوت [Controller] یک کلاس ساده C# را به یک کنترلر تبدیل میکند.
اتربیوت [NonController] یک کلاس کنترلر را به یک کلاس ساده C# تبدیل میکند.
ابتدا باید به این سوال پاسخ دهیم که چرا تشخیص کلاس از کنترلر مهم است؟ چون کلاس هایی که کنترلر باشند از خارج از پروژه و توسط کاربران قابلیت دسترسی دارند. و کاربران به راحتی میتوانند به به متدهای Public آن دسترسی داشته باشند. و در صورتی که ما یک کلاسی که قرار نیست تا کنترلر باشد و آن را به اشتباه کنترلر کنیم باعث حفره امنیتی میشود.
فریمورک MVC از ۳ روش میتواند تشخیص دهد یک کلاس آیا Controller است یا خیر. که در ادامه به آن میپردازیم.