فرض کنید اکشن متد Web API شما قرار است اطلاعات رکوردی را بازگشت دهد: using Microsoft.AspNetCore.Mvc;
namespace Core3xWebApi.Controllers
{
[ApiController]
[Route("[controller]")]
public class HomeController : ControllerBase
{
[HttpGet]
public ActionResult<string> Get()
{
return null;
}
}
}
و در این حالت خاص، خروجی کوئری مدنظر، نال است ...
اگر پروژهی ما فقط از یک Web API تشکیل شده و نیاز است در قسمتهای مختلف آن، مانند کنترلرها، سرویسها، اعتبارسنجها و غیره از منابع بومی شده استفاده شود، میتوان از یک راه حل سادهی «SharedResource» استفاده کرد؛ با این مزایا و شرایط:
- تمام تعاریف بومی سازی مورد نیاز برنامه در یک تک فایل SharedResource.fa.resx قرار میگیرند. این فایل نیز در یک اسمبلی مستقل از برنامهی اصلی اضافه میشود.
- با استفاده از تزریق سرویس IS ...
TOTP یک الگوریتمی است که از ساعت برای تولید رمزهای یکبارمصرف استفاده میکند. به این صورت که در هر لحظه یک کد منحصر به فرد تولید خواهد شد. اگر با برنامه Google Authenticator کار کرده باشید این مفهوم برایتان اشناست. در این مطلب میخواهیم سناریویی را پیاده سازی کنیم که برای فراخوانی APIها باید یک رمز منحصر به فرد همراه توکن ارسال کنند. برای انجام این کار هر کاربر و یا کلاینتی که بخواهد از API استفاده کند در ابتدا باید لاگین کند و بعد از ...
در ASP.NET Core کار جلوگیری از حملات XSS بر عهده برنامه نویس گذاشته شدهاست و مانند نسخههای قبلی، Request Validation یا اعتبارسنجی درخواستها به صورت توکار در آن وجود ندارد. برای اطلاعات بیشتر به این مقاله مراجعه کنید. هرچند ASP.NET Core دادهها را هنگام نمایش، encode میکند و عملا بسیاری از حملات خنثی میشوند، اما در صورتیکه بخواهیم دادههای غیر مطمئن، در بانک اطلاعاتی نیز ذخیره نشوند، باید آنها را ارزیابی کنیم. ی ...
Feather HTTP یک فریمورک HTTP سبک، برای ایجاد APIهای NET Core. است، در واقع یک wrapper بر روی APIهای موجود ASP.NET Core میباشد که به ما امکان ایجاد HTTP API را در کمترین زمان میدهد. در این مطلب نحوه ایجاد یک API را توسط این فریمورک بررسی خواهیم کرد. معرفی قالب FeatherHttp.Templates به سیستم dotnet برای شروع میتوانیم قالب پروژه Feather HTTP را به لیست قالبهای از پیش نصب شدهی dotnet اضافه کنیم. برای اینکار کافی است در خط ...
همانطور که میدانید ASP.NET Core از تزریق وابستگیها ( Dependency Injection ) پشتیبانی میکند، که یک نوع Design Pattern است، و در اصل یک تکنیک است برای دستیابی و پیاده سازی اصل Inversion Of Control یا همان IoC بین کلاسها و وابستگیهای آن کلاسها. متد ConfigureServices در کلاس Startup وظیفهای دارد برای ثبت و تعریف سرویسهای مورد استفادهی در برنامه از جمله Platform Features مانند EF Core و معماری MVC. این متد در اصل DI Container ما است و ...
در برنامههای ASP.NET Core، امکان دریافت تنظیمات برنامه از منابع مختلفی مانند فایلهای JSON وجود دارد که در نگارشهای اخیر آن، امکان اعتبارسنجی اطلاعات آنها به صورت توکار نیز اضافه شدهاست؛ مانند: services.AddOptions<BearerTokensOptions>()
.Bind(configuration.GetSection("BearerTokens"))
.Validate(bearerTokens =>
{
return bearerTokens.AccessTokenExpirationMinutes < be ...
در قسمت قبل با نحوهی پیاده سازی اعتبارسنجیهای سفارشی سمت کلاینت مخصوص کتابخانهی Fluent Validation آشنا شدیم. در این قسمت، یک حالت خاص همان نوع اعتبارسنجیهای سمت کلاینت را که remote validation نام دارد، بررسی میکنیم. در این حالت خاص، نیازی به کدنویسی جاوااسکریپتی خاصی نیست. چون زیرساخت آن به همراه unobtrusive jQuery Ajax خود ASP.NET Core ارائه میشود. در اینجا فقط نیاز است تا متادیتای خاص آنرا تولید کنیم. به عبارتی اینبار هدف ...
FluentValidation یک کتابخانهی اعتبارسنجی اطلاعات سمت سرور است و راهکاری را برای اعتبارسنجیهای سمت کلاینت ارائه نمیدهد؛ اما میتواند متادیتای مورد نیاز unobtrusive java script validation را تولید کند و به این ترتیب بسیاری از قواعد آن دقیقا همانند روشهای توکار اعتبارسنجی ASP.NET Core در سمت کلاینت نیز کار میکنند؛ مانند:
• NotNull/NotEmpty
• Matches (regex)
• InclusiveBetween (range)
• CreditCard
...
در قسمت قبل ، روش تعریف قواعد اعتبارسنجی را با استفاده از کتابخانهی Fluent Validation بررسی کردیم. در این قسمت میخواهیم این قواعد را به صورت خودکار به یک برنامهی ASP.NET Core معرفی کرده و سپس از آنها استفاده کنیم. روش اول: استفادهی دستی از اعتبارسنج کتابخانهی Fluent Validation
روشهای زیادی برای استفادهی از قواعد تعریف شدهی توسط کتابخانهی Fluent Validation وجود دارند. اولین روش، فراخوانی دستی اعتبارسنج، در م ...