C#: MVVM ASP. net Ошибка API при авторизации - PullRequest
0 голосов
/ 17 февраля 2020

Я новичок в стеке c# asp, и я разрабатываю веб-API для предоставления данных с нашего сервера SQL. У меня есть таблица для чтения с помощью команды HTTP GET.

Все работает, как ожидалось, кроме того, что при компиляции я получаю сообщение об ошибке авторизации. Может ли кто-нибудь посоветовать, как управлять ошибкой, пожалуйста?

Любая помощь будет очень признателен, я действительно изо всех сил пытаюсь понять это. Спасибо.

Произошло исключение: CLR / System.InvalidOperationException Исключение типа 'System.InvalidOperationException' произошло в Microsoft.AspNetCore.Authorization.Policy.dll, но не было обработано в коде пользователя: 'Невозможно найти необходимые услуги. Добавьте все необходимые службы, вызвав IServiceCollection.AddAuthorization внутри вызова «ConfigureServices (...)» в коде запуска приложения. в Microsoft.AspNetCore.Builder.AuthorizationAppBuilderExtensions.VerifyServicesRegistered (приложение IApplicationBuilder) в Microsoft.AspNetCore.Builder.AuthorizationAppBuilderExtensions.UseAuthorization (приложение IApplicationBuilder * пользовательская среда grey \ Documents \ BED_MGMT_WEBAPP_APIs \ Startup.cs: строка 56 в System.RuntimeMethodHandle.InvokeMethod (объектная цель, аргументы Object [], сигнатура сигнатуры, логический конструктор, логическое значение wrapExceptions) в системном вызове объекта. , Связыватель, параметры Object [], культура CultureInfo) в Microsoft.AspNetCore.Hosting.ConfigureBuilder.Invoke (экземпляр объекта, построитель IApplicationBuilder) в Microsoft.AspNetCore.Hosting.ConfigureBuilder. <> C__DisplayClass4_0.b__0 (сборщик приложений IA) AspNetCore.Hosting.GenericWebHostBuilder. <> C__DisplayClass13_0.b__2 (приложение IApplicationBuilder) в Microsoft.Asp NetCore.HostFilteringStartupFilter. <> C__DisplayClass0_0.b__0 (приложение IApplicationBuilder) в Microsoft.AspNetCore.Hosting.GenericWebHostService.d__31.MoveNext ()

мой запуск. C3 настройки приложения:

   {

     "ConnectionString": {
         "DefaultConnection":        "Server=blah.blah.blah.blah;Database=ourDB;Trusted_Connection=True;"


     },

     "Logging": {
       "LogLevel": {
         "Default": "Information",
         "Microsoft": "Warning",
         "Microsoft.Hosting.Lifetime": "Information"
       }
     },
     "AllowedHosts": "*"
   }

Элементы моей таблицы:

 using System;

 namespace BED_MGMT_WEBAPP_APIs.Models
  {
     public class Bed_Data
     {
    public string HOSPITAL {get;set;}
    public string WARD_CODE {get;set;}
    public string WARD {get;set;}
    public int REALTIME_BED_STOCK {get;set;}
    public int ACTUAL_BED_STOCK {get;set;}
    public int AVAILABLE_BEDS_M {get;set;}
    public int AVAILABLE_BEDS_F {get;set;}
    public int AVAILABLE_BEDS_C {get;set;}
    public int TOTAL_BEDS_CLOSED {get;set;}
    public int CLOSED_AND_UNOCCUPIED {get;set;}
    public int ESCALATION_BEDS_IN_USE {get;set;}
    public int DISCHARGES_CONFIRMED_M {get;set;}
    public int DISCHARGES_CONFIRMED_F {get;set;}
    public int DISCHARGES_CONFIRMED_C {get;set;}
    public int DISCHARGES_POTENTIAL_M {get;set;}
    public int DISCHARGES_POTENTIAL_F {get;set;}
    public int DISCHARGES_POTENTIAL_C {get;set;}
    public int AWAITING_ADMISSION_AE_M {get;set;}
    public int AWAITING_ADMISSION_AE_F {get;set;}
    public int AWAITING_ADMISSION_AE_C {get;set;}
    public int AWAITING_ADMISSION_INTERNAL_M {get;set;}
    public int AWAITING_ADMISSION_INTERNAL_F {get;set;}
    public int AWAITING_ADMISSION_INTERNAL_C {get;set;}
    public int AWAITING_ADMISSION_EXTERNAL_M {get;set;}
    public int AWAITING_ADMISSION_EXTERNAL_F {get;set;}
    public int AWAITING_ADMISSION_EXTERNAL_C {get;set;}
    public int AWAITING_REPATRIATION_IN {get;set;}
    public int AWAITING_REPATRIATION_OUT {get;set;}
    public int OUTLIERS_MED {get;set;}
    public int OUTLIERS_SURG {get;set;}
    public int OUTLIERS_ORTH {get;set;}
    public string STAFFING_SHORTAGES {get;set;}
    public string USER_CODE {get;set;}
    public string DATETIME_RECORD_INSERTED {get;set;} //=      System.Convert.ToDateTime() 

     }
  }

Контекст моей БД:

 using Microsoft.EntityFrameworkCore;

 namespace BED_MGMT_WEBAPP_APIs.Models
 {
     public class bed_data_dbconnect : DbContext
     {
         public bed_data_dbconnect(DbContextOptions options) : base(options)
         { }

         public DbSet<Bed_Data> tblBase_BEDMGMT_BEDS_BY_WARD { get; set; }
     }
 }

Мой контроллер:

 using Microsoft.AspNetCore.Mvc;
 using System.Collections.Generic;
 using System.Linq;
 using BED_MGMT_WEBAPP_APIs.Models;


 namespace BED_MGMT_WEBAPP_APIs.Controllers
 {
     [Route("api/[Controller]")]
     [ApiController]

     public class bed_data_controller : Controller
     {
         private bed_data_dbconnect _bed_data;

         public bed_data_controller(bed_data_dbconnect context)
         {

         _bed_data = context;

         }

         //Get api/values
         [HttpGet]
         public ActionResult Get()
             {
             var result=_bed_data.tblBase_BEDMGMT_BEDS_BY_WARD.ToList();
             return Json(result);
             }

         ~bed_data_controller()
         {

             _bed_data.Dispose();

         }


     }
 }
...