[英]Where to put file io in ASP.NET web api
我目前在我的 controller ZA2F2ED4F8EBC4AB4C21A21 的構造函數中調用了我的文件 io class。 我注意到每次我點擊 api 端點時都會重新讀取 csv 文件,這並不理想。 我應該在哪里有這個,所以我的 csv 只能在啟動時讀取?
namespace API.Controllers
{
[ApiController]
public class CovidDataController : ControllerBase
{
private ReadCSV readCSV;
public CovidDataController()
{
readCSV = new ReadCSV("CovidFileIO/covid19-download.csv");
readCSV.CreateDataObjects(100); // Pass in how many lines to read
}
// This endpoint will return records from the covid data object.
[Route("api/[controller]")] // route is api/CovidData
[HttpGet]
public List<CovidData> GetData()
{
return readCSV.covidDataObjects;
}
}
}
您可以創建一個中間件,然后在 startup.cs 中注冊它只會在網站僅在 url 上點擊一次時運行
你的中間件代碼
//創建中間件文件夾
public task CSVMiddleware(){
private ReadCSV readCSV;
readCSV = new ReadCSV("CovidFileIO/covid19-download.csv");
readCSV.CreateDataObjects(100); // Pass in how many lines to read
return readCSV.covidDataObjects;
}
}
您可以在 startup.cs 中執行此操作
app.Run(CSVMiddleware);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.