Я пытаюсь вызвать вызов, чтобы получить список объектов и просто напечатать его содержимое.когда вызов сделан, ошибка 502.3 и ошибка возврата стека возникнут при обратном вызове.См. Код ниже
[HttpGet("[action]")]
public async Task<List<Portfolio>> GetAllPortfolios()
{
var portfolios = await _portfolioService.GetAllPortfolios().ConfigureAwait(false);
return portfolios;
}
Я попытался вернуть пустой список, и он работал нормально со статусом 200.
Вот мой код для вызова сервера для получения данных
public async Task<List<Portfolio>> GetAllPortfolios()
{
List<Portfolio> PortfolioList = new List<Portfolio>();
Portfolio portfolio;
using (SqlConnection conn = new SqlConnection(Connection))
{
SqlCommand command = new SqlCommand();
command.Connection = conn;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "USP_Get_All_Portfolios";
conn.Open();
SqlDataReader reader = await command.ExecuteReaderAsync().ConfigureAwait(false);
//Fields to be populated
string PortfolioName, Description, CreateID, UpdateID;
while (await reader.ReadAsync().ConfigureAwait(false))
{
PortfolioName = reader["Portfolio_Name"].ToString();
Description = reader["Long_Description"].ToString();
CreateID = reader["Create_ID"].ToString();
UpdateID = reader["Update_ID"].ToString();
portfolio = new Portfolio(PortfolioName, Description, CreateID, UpdateID);
PortfolioList.Add(portfolio);
}
reader.Close();
}
return PortfolioList;
}
Код для моего PortfolioService
public class PortfolioService : IPortfolioService
{
private readonly IPortfolioRepository _portfolioRepository;
public PortfolioService(IPortfolioRepository portfolioRepository)
{
_portfolioRepository = portfolioRepository;
}
public async Task<bool> CreatePortfolio(Portfolio portfolio)
{
return await _portfolioRepository.CreatePortfolio(portfolio).ConfigureAwait(false);
}
public async Task<List<Portfolio>> GetAllPortfolios()
{
return await _portfolioRepository.GetAllPortfolios().ConfigureAwait(false);
}
}
Код для моего класса портфолио
public class Portfolio
{
private string mPortfolioName;
private string mDescription;
private string mCreateID;
private string mUpdateID;
public string PortfolioName
{
get { return mPortfolioName; }
set { mPortfolioName = value; }
}
public string Description
{
get { return Description; }
set { mDescription = value; }
}
public string CreateID
{
get { return mCreateID; }
set { mCreateID = value; }
}
public string UpdateID
{
get { return UpdateID; }
set { mUpdateID = value; }
}
public Portfolio(string portfolioName, string description, string createID, string updateID)
{
mPortfolioName = portfolioName;
mDescription = description;
mCreateID = createID;
mUpdateID = updateID;
}
}