همانطور که در قسمت قبل نیز بررسی کردیم، ASP.NET Core امکان تزریق وابستگیهای متداول را در اکثر قسمتهای آن مانند کنترلرها، میانافزارها و غیره، میسر و پیش بینی کردهاست؛ اما همیشه و در تمام مکانهای یک برنامهی وب، امکان تزریق وابستگیها در سازندهی کلاسها وجود ندارد و مجبور به استفادهی از الگوی Service Locator میباشیم. در این قسمت این مکانهای ویژه را بررسی خواهیم کرد.
HttpContext و امکان دسترسی به Service Locatorها ...
الگوی Service locator را در قسمت دوم بررسی کردیم. همانطور که عنوان شد، بهتر است تا جائیکه امکان دارد از بکارگیری آن به علت ضدالگو بودن پرهیز کرد. در ادامه قسمتهای مختلف یک برنامهی ASP.NET Core را که میتوان بدون نیاز به استفادهی الگوی Service locator، تزریق وابستگیها را در آنها انجام داد، مرور میکنیم.
در کلاس آغازین برنامه
در اینجا در متد Configure آن تنها کافی است اینترفیس سرویس مدنظر خود را مانند IAmA ...
یکی از پرکاربردترین اینترفیسهای NET.، اینترفیس IDisposable است. عموما کلاسهایی که ارجاعی را به منابع غیر مدیریت شده مانند فایلها و سوکتها داشته باشند، این اینترفیس را پیاده سازی میکنند. garbage collector به صورت خودکار حافظهی اشیاء مدیریت شده یا دات نتی را رها میکند؛ اما چیزی را در مورد منابع غیر مدیریت شده نمیداند. به همین جهت پیاده سازی اینترفیس IDisposable روشی را جهت پاکسازی این منابع به garbage collector معرفی میکند.
...
در قسمت قبل برای دریافت وهلهای از سرویس TestService، به صورت ()<serviceProvider.GetService<ITestService عمل کردیم. این روش در اصل الگوی Service Locator نام دارد که جزئیات بیشتری از آنرا در این قسمت بررسی خواهیم کرد.
قلب سیستم تزریق وابستگیهای NET Core. اینترفیس IServiceProvider است
IServiceProvider که اساس IoC Container برنامههای مبتنی بر NET Core. را تشکیل میدهد، در اسمبلی System.ComponentModel و در ...
مهارتهای تزریق وابستگیها در برنامههای NET Core. - قسمت اول - تزریق وابستگیها در برنامههای کنسول
پیشتر با مقدمات تزریق وابستگیها در برنامههای ASP.NET Core آشنا شدهایم:
- مقدمهای بر تزریق وابستگیها درASP.NET Core - ارتقاء به ASP.NET Core 1.0 - قسمت 6 - سرویسها و تزریق وابستگیها
در ادامه در طی چند مطلب میخواهیم نکات و سناریوهای تکمیلی مرتبط با امکانات تزریق وابستگیهای توکار برنامههای مبتنی بر NET Core. را بررسی کنیم.
تزریق وابستگیها در برنامههای کنسول ...
پس از انجام « تنظیمات امنیتی SMTP Server متعلق به IIS جهت قرارگیری بر روی اینترنت » و همچنین پیاده سازی « مراحل تنظیم Let's Encrypt در IIS »، یکی دیگر از کاربردهای مجوز SSL دریافتی، رمزنگاری تبادل اطلاعات بین SMTP Server جاری و میل سرور مقصد است. بدون انجام اینکار، ایمیلهای دریافتی توسط GMail، یک چنین شکلی را خواهند داشت:
همانطور که مشاهده میکنید، کنار ایمیل ارسالی توسط ما، یک آیکن قرمز رنگ مبتنی بر عدم رمزنگاری ارتبا ...
چند روزی بود که ایمیلهای سایت رد نمیشدند و تمام آنهایی که متعلق به جیمیل بودند، برگشت میخورند. در لاگهای سرور، اطلاعات خاصی مشاهده نشد. به همین جهت logging مخصوص SMTP Server فعال شد: پس از یک روز، چنین سطرهایی پس از سعیهای ارسال ایمیل به جیمیل، قابل مشاهده بودند: 550-5.7.1+This+message+does+not+have+authentication+information+or+fails+to+pass
پس از اندکی جستجو مشخص شد که جیمیل، استفادهی از SPF را اجباری کر ...
تا اینجا نحوهی اجرای برنامهها، وب سرورها و حتی بانکهای اطلاعاتی را توسط داکر بررسی کردیم. در این قسمت میخواهیم یک برنامه و بانک اطلاعاتی مخصوص آنرا داخل یک کانتینر اجرا کنیم و برای این منظور از ابزار ساده کنندهی docker-compose استفاده خواهیم کرد.
docker-compose چیست؟
فرض کنید برنامهی ما، از یک قسمت منطق خود برنامه و قسمت دیگر بانک اطلاعاتی آن تشکیل شدهاست. در این حالت برای توزیع آن توسط کانتینرها، نیاز به د ...
تا اینجا نحوهی اجرای برنامهها را داخل کانتینرها بررسی کردیم؛ اما هنوز در مورد دادههای آنها بحث نکردهایم. اگر بانکهای اطلاعاتی را به درون کانتینرها منتقل کنیم، چه بر سر دادههای آنها میآید؟
بررسی روش اجرای MS SQL Server Express درون یک Container
اگر مخازن Imageهای رسمی مایکروسافت را در داکرهاب بررسی کنیم، به مخازنی مانند mssql-server-windows-express ، mssql-server و یا mssql-server-linux نیز خ ...
تا اینجا با نحوهی اجرای برنامههای مختلف توسط داکر مانند وب سرور لینوکسی nginx و یا IIS ویندوزی آشنا شدیم؛ اما هنوز محتوایی را در آنها هاست نکردهایم. در این قسمت این موضوع را بررسی خواهیم کرد و در طی این فرآیند، با نحوهی ساخت Imageهای سفارشی نیز آشنا خواهیم شد.
روش نگاشت محتوای یک سایت استاتیک در یک Container که وب سرور است
فرض کنید یک سایت استاتیک بوت استرپی را تهیه کردهاید و قصد دارید آنرا توسط وب سرور ngin ...