اگر شما هم مثل بنده در حال نگهداری از یک سیستم قدیمی میباشید، به احتمال زیاد همیشه با یک سری مسائل مثل آپدیت پکیجها، اضافه کردن یا حذف کردن فایلی از پروژه، مدیریت وابستگیها، خروجی گرفتن از یک پروژه کنسول و ... درگیر هستید؛ مسائلی که سالهاست با روی کار آمدن «دات نت کور» و پس از آن «دات نت ۵» حل شدهاست. این حجم از مشکلات به حدی بود که گاهاً کدنویسی را با مشکل مواجه میکرد و امروز تصمیم گرفتم این مشکل را برای پروژه شرکت حل کنم. ابتدا با ...
در ابتدا اجازه بدهید تعریف درستی از این دو واژه، ارائه کنیم. DTO (Data Transfer Object) به بیان خیلی ساده، DTOها برای انتقال اطلاعات استفاده میشوند؛ پس هیچ منطق و رفتاری در این اشیاء تعریف نمیشود .اگر در DTO منطقی پیاده سازی شود، دیگر به آن DTO گفته نمیشود. اجازه بدید منظورمان را از منطق یا رفتار مشخص کنیم. منطق یا رفتار، همان متدهایی هستند که در نوع داده خود تعریف میکنیم. در #C، یک DTO تنها از خصوصیتها (Properties) ...
مواقع زیادی اتفاق میافتد که باید کار خاصی، بر روی سایتی که publish شده انجام بدیم. مثلا قرار هست یک بهروزرسانی انجام بدیم یا هر عملیات خاصی دیگری. در این موارد اگر بخواهیم کاربر نتواند وارد سایت شود، اما سایت برای خودمان باز باشد تا بتوانیم عملیاتی را انجام دهیم، فیلتری را مینویسیم که همهی کاربران غیر از خودمان را به صفحهی HTML سادهای که قبلا طراحی کردهایم، منتقل کند. مثلا در این صفحه نوشته شده «در حال بروز رسانی هستی ...
در ASP.NET Core کار جلوگیری از حملات XSS بر عهده برنامه نویس گذاشته شدهاست و مانند نسخههای قبلی، Request Validation یا اعتبارسنجی درخواستها به صورت توکار در آن وجود ندارد. برای اطلاعات بیشتر به این مقاله مراجعه کنید. هرچند ASP.NET Core دادهها را هنگام نمایش، encode میکند و عملا بسیاری از حملات خنثی میشوند، اما در صورتیکه بخواهیم دادههای غیر مطمئن، در بانک اطلاعاتی نیز ذخیره نشوند، باید آنها را ارزیابی کنیم. ی ...
در این مقاله قصد داریم با استفاده از جاوااسکریپت خالص، یک برنامهی ساده را با الگوی MVC انجام دهیم. این برنامه، عملیات CRUD را پیاده سازی میکند و تنها به سه فایل index.html , script.js , style.css نیاز دارد و از هیچ کتابخانه یا فریم ورک دیگری در آن استفاده نمیکنیم. در الگوی MVC M مخفف Model میباشد و کار مدیریت دادهها را بر عهده دارد. V مخفف View میباشد و وظیفهی نمایش دادهها به کاربر را بر عهده دارد. C مخفف Control ...
در وبسایتی مثل آپارات، چنین آدرسی aparat.com/reporting به منزلهی آدرس دهی به کانال شخصیِ فردی است. حال اگر وبسایت ما نیز چنین سیستم آدرس دهی را داشته باشد و همچنین پیشتر یک Area با نام Reporting را نیز داشته باشیم، توسط چنین آدرسی (درحالت پیش فرض) به آن Area دسترسی خواهیم داشت: mysite.com/reporting
حال اگر یکی از کاربران هنگام ساخت کانالی جدید (برای سناریوی بالا)، بخواهد آدرس کانالش Reporting باشد، با توجه به اینکه هم مسیر دستر ...
به عنوان آخرین قسمت مرتبط با تفکر مبتنیبر CRUD (CRUD-based thinking)، روش پیادهسازی عملیات CRUD موجودیتها را با استفاده از ASP.NET Core MVC و افزونه jquery-unobtrusive-ajax بررسی خواهیم کرد. برای شروع لازم است بسته نیوگت زیر را نصب کنید: PM> Install-Package DNTFrameworkCore.Web قراردادها، مفاهیم و نکات اولیه Refactor کردن فرمهای ثبت و ویرایش مرتبط با یک Aggregate ...
Postman یک ابزار متکی به خود چند سکویی، رایگان و فوق العادهای است جهت توسعه و آزمایش Web APIها (HTTP Restful APIs). برای دریافت آن میتوانید به این آدرس مراجعه کنید. البته پیشتر افزونهای، مخصوص کروم را نیز ارائه کرده بودند که دیگر پشتیبانی نمیشود و اگر بر روی مرورگر شما نصب است، بهتر است آنرا حذف کنید.
شروع به کار با Postman
پس از نصب و اجرای Postman، در ابتدا درخواست میکند که اکانتی را در سایت آنها ایجاد ...
در قسمت قبل، با تنظیمات پَرباد آشنا شدیم. در این مقاله قصد داریم سایر امکانات قابل استفاده را آموزش دهیم. آنچه شما در این مقاله یاد خواهید گرفت: ایجاد صورت حساب پرداخت با استفاده از InvoiceBuilder درگاه مجازی استفاده از پروکسی توکن پرداخت تزریق وابستگی Logging ایجاد صورت حساب با استفاده از InvoiceBuilder InvoiceBuilder به شما کمک میکند تا یک صورت حساب را جهت پرداخت آم ...
در قسمت قبل یاد گرفتیم چگونه عملیات پرداخت را انجام دهیم. در این قسمت قصد داریم با تنظیمات پَرباد آشنا شویم. این تنظیمات در حالت کلی شامل موارد زیر است: درگاهها (اجباری) HttpContext (اجباری) پایگاه داده (اجباری) پیامها (اختیاری) روشهای تنظیم: وارد کردن تنظیمات به صورت ثابت (استاتیک) تنظیم به صورت داینامیک (برای مثال استفاده از یک منبع، مانند پایگاه داده وب سایت شما) تنظیم تو ...