‫۱ ماه قبل، سه‌شنبه ۱۶ مرداد ۱۴۰۳، ساعت ۰۷:۰۷

قسمت پیشنهادها، مرتبط با ارائه نظر نیست؛ مرتبط با ارائه ایده برای تهیه مطلب هست. نمونه‌های قبلی آن برای بررسی موجود هستند. برای دسترسی به آن هم باید حداقل 2 اشتراک/لینک ارسالی داشته باشید.

‫۱ ماه قبل، پنجشنبه ۱۱ مرداد ۱۴۰۳، ساعت ۲۱:۴۲

کتابخانه «DNTCommon.Web.Core» به همراه روشی چندسکویی برای دریافت اطلاعات سرور هم هست. پس از دریافت اطلاعات، فقط کافی است یک AuthorizationFilter سفارشی را برای بررسی آن طراحی کنید:

public class RestrictServerAttribute : Attribute, IAuthorizationFilter
{
    public void OnAuthorization(AuthorizationFilterContext context)
    {
        if (/* check server info */)
        {
            //  Request came from an unauthorized host, return bad request
            context.Result = new BadRequestObjectResult("Host is not allowed");
        }
    }
}

و سپس آن‌را به صورت یک فیلتر سراسری معرفی کنید تا به همه‌جا اعمال شود:

public void ConfigureServices(IServiceCollection services)
{
   services.AddControllers(options =>
        {
            options.Filters.Add(new RestrictServerAttribute());
        });
}
‫۱ ماه قبل، شنبه ۶ مرداد ۱۴۰۳، ساعت ۱۲:۵۶

قبلا مطلبی رو در مورد توانایی AutoMapper در تهیه‌ی یک چنین نگاشت‌هایی با استفاده از متد project to آن، تهیه کردم. البته کلیاتش فرقی نکرده؛ ولی syntax اش تغییر کرده که آخرین به روز رسانی اون رو در اینجا می‌تونید مطالعه کنید. به‌شما توصیه می‌کنم از همین روش استفاده کنید و سعی نکنید این متد رو خودتون بازنویسی کنید و بهتر از است از همان نمونه‌‌ای که سال‌هاست آزمایش شده و در حال استفاده‌است، کمک بگیرید.

return context.OrderLines.Where(ol => ol.OrderId == orderId)
             .ProjectTo<OrderLineDTO>(configuration).ToList();