در این مقاله قصد داریم
یک Api تحت وب را با استفاده از فریمورک ASP.NET Core توسعه
دهیم تا عملیات CRUD را بر روی دیتابیس MongoDb که یکی از محبوبترین دیتابیسهای NoSql است، انجام دهد. قبل از شروع کار باید ویژوال استودیو نسخهی 2019 را نصب داشته باشید؛ بهطوریکه
ورک لود ASP.NET and web devel ...
در این مقاله، نوشتهی ایمان محمدی، ذخیرهی اطلاعات نظارتی هر Entity توسط دو فیلد CreatedSources و ModifiedSources به صورت JSON انجام میشود که در هر کدام از این فیلدها، اطلاعات مختلفی مانند ip کاربر، شناسه دستگاه، HostName، ClientName و یک سری اطلاعات دیگر ذخیره میشوند. بیایید به این اطلاعات متادیتا بگوییم. در این حالت اگر رکورد، چندین بار تغییر کند، متادیتای آخرین تغییرات در فیلد ModifiedSources ذخیره میشود. حالا اگر ما بخواهیم اطلاعا ...
در Serilog لاگها به صورت ترتیبی در فایل و یا در Elasticsearch ذخیره میشوند. این لاگها زمانیکه تعداد کاربران سایت زیاد میشوند و تعداد آنها نیز افزایش مییابد، به صورت تصادفی ( به ازای ریکوئست کاربران ) در Elasticsearch و یا فایل متنی ذخیره میشوند. برای مثال یک کاربر مشغول ثبت سفارش است و کاربر دیگری عملیات استرداد را انجام میدهد و لاگ این دو کاربر به صورت همزمان به مقصد مورد نظر شما ( Elasticsearch و یا فایل متنی ) ...
تا اینجا دو روش را برای آزمایش کلی یک سیستم Web API به همراه تمام زیر ساختهای آن، بررسی کردیم:
- استفاده از Postman برای آزمایش یک برنامهی Web API
- استفاده از strest برای آزمایش یک برنامهی Web API
روش سومی هم برای انجام اینکار وجود دارد که به صورت توکار از زمان ارائهی ASP.NET Core 2.1 به همراه TestServer آزمایشی آن میسر شد. این روش در نگارش 3.1، با تغییر روش تعریف فایل program.cs، جهت سازگاری آن با آ ...
Profileهای AutoMapper، قابلیت تزریق وابستگیها را در سازندهی خود ندارند؛ به همین جهت در این مطلب، دو راه حل را جهت رفع این محدودیت بررسی میکنیم. مثال: نیاز به نگاشت کلمهی عبور، به کلمهی عبور هش شده
فرض کنید موجودیت کاربری که قرار است در بانک اطلاعاتی ذخیره شود، چنین ساختاری را دارد: namespace AutoMapperInjection.Entities
{
public class User
{
public int Id { set; get; }
public ...
در سری کار با Postman ، یک روش بسیار متداول آزمایش Web APIs را بررسی کردیم. اما ... برای کار آن با مدام نیاز است از این برگه به آن برگه مراجعه کرد و ارتباط دادن درخواستهای متوالی در آن مشکل است. به همین منظور تابحال راهحلهای زیادی برای جایگزین کردن postman ارائه شدهاند که یکی از آنها strest است. این ابزار خط فرمان:
- بسیار سبک ورزن است و تنها نیاز به نصب بستهی npm آنرا دارد.
- با فایلهای متنی معمولی کار میکند ...
فرض کنید قصد دارید خاصیت Id مدل مورد استفادهی در یک View را رمزنگاری کنید تا در سمت کلاینت به سادگی قابل تغییر نباشد. همچنین این Id زمانیکه به سمت سرور ارسال شد، به صورت خودکار رمزگشایی شود و بدون نیاز به تغییرات خاصی در کدهای متداول اکشن متدها، اطلاعات نهایی آن قابل استفاده باشند. برای این منظور در ASP.NET Core میتوان یک Action Result رمزنگاری کننده و یک Model binder رمزگشایی کننده را طراحی کرد. نیاز به علامتگذاری خواصی که باید رم ...
تغییر پویای رشتهی اتصالی به بانک اطلاعاتی در نگارشهای پیشین EF، مشکل بودند که نمونههایی از آن را پیشتر در مطالب زیر مشاهده کردهاید:
- « تنظیم رشته اتصالی Entity Framework به بانک اطلاعاتی به وسیله کد »
- « استفاده از چندین بانک اطلاعاتی به صورت همزمان در EF Code First »
اما EF Core نه تنها این مشکل را پوشش را دادهاست، بلکه امکان تزریق وابستگیها و استفادهی از سرویسهای مختلف را نیز در این حین، پیش بینی کر ...
ممکن است در حین توسعهی یک برنامه، یکبار سرویسهای مدنظر را توسط قابلیت اسکن کتابخانههایی مانند Scrutor به برنامه اضافه کنید و یکبار هم به اشتباه تعدادی از آنها را دستی ثبت کنید و یا ممکن است کتابخانههای ثالثی را که مورد استفاده قرار دادهاید، دست آخر سبب ثبت بیش از اندازهی سرویسهای مشخصی شدهاند. در ادامه روش گزارشگیری از این سرویسهای تکراری ثبت شده را بررسی میکنیم. یافتن سرویسهایی که به اشتباه بیش از یکبار ثبت شدهاند ...
پیشتر مطلب « نحوه صحیح تولید Url در ASP.NET MVC » را در این سایت مطالعه کردهاید و خلاصهی آن به این صورت است که اگر در جائی از برنامهی خود، مسیر Home/Details/1 را به صورت دستی وارد کردهاید، با تغییر الگوی مسیریابی برنامه برای مثال به صورت " uni/ {controller=Home}/{action=Index}/{id?}" در آینده، مسیر یاد شده دیگر معتبر و قابل دسترسی نبوده و نیاز خواهید داشت تمام مسیرهای دستی وارد شدهی اینگونه را در سراسر برنامه اصلاح کنید. به همین جهت د ...