چطور در ASP.net core Razor Page پراپرتی اینجکشن انجام دهیم؟

mohsen1 سال قبل
ارسال شده در
mohsen

فرض کنید سرویسی با اینترفیس IMyService داریم می خواهیم این سرویس را در تمامی متدهای Razor Page استفاده کنیم. راه اول اینجکت کردن سرویس مورد نظر بعنوان ورودی تمامی متد های صفحه است. مانند:

      public class MyPageModel: PageModel {
  public async Task OnGet([FromServices] IMyService myService) { ... }
  public async Task OnPost([FromServices] IMyService myService) { ... }
}
    

راه دیگه برای اینجک کردن این سرویس، استفاده از پراپرتی اینجکشن است. که میتوانیم به صورت زیر انجام دهیم:

      public class MyPageModel: PageModel {
  [FromServices]
  public IMyService myService { get; set; }

  public async Task OnGet() { ... }
  public async Task OnPost() { ... }
}
    

توجه داشته باشید که اتریبیوت FromServices باید روی پراپرتی اعمال شود و پراپرتی پابلیک باشد.

رای
0
ارسال نظر
مرتب سازی:
اولین نفری باشید که نظر می دهید!