ASP.NET kullanarak bir API üzerinde çalışıyorum. Bir noktada, diğerini aramak için bir yönteme ihtiyacım var. Bu kullanımı saklı prosedürlerin her ikisi de:HTTP 500: SQL bağlantı dizesi hataya neden oluyor
public async Task<IHttpActionResult> GetTeamById(string TeamId)
{
DataTable Result = new DataTable();
SqlCommand Command = new SqlCommand("GetTeam", ConnectionString);
Command.CommandType = CommandType.StoredProcedure;
Command.Parameters.AddWithValue("@TeamId", TeamId);
using (ConnectionString) /defined above
{
try
{
ConnectionString.Open();
using (SqlDataReader DataReader = Command.ExecuteReader())
{
Result.Load(DataReader);
return Ok(Result);
}
}
catch
{
return InternalServerError();
}
}
}
public async Task<IHttpActionResult> UpdateTeam(string TeamId)
{
SqlCommand Command = new SqlCommand("UpdateTeam", ConnectionString);
Command.CommandType = CommandType.StoredProcedure;
Command.Parameters.AddWithValue("@Id", TeamId);
using (ConnectionString)
{
try
{
ConnectionString.Open();
int returnvalue = (int) Command.ExecuteScalar();
if (returnvalue == 1)
return BadRequest();
else
await GetTeamById(TeamId);
}
catch
{
return InternalServerError();
}
}
}
I yüz sorun UpdateTeam
yöntemi olarak adlandırılır, bu kod, bir 500 iç sunucu hata atar olmasıdır. Sorun, GetTeamById
işlevindeki ConnectionString.Open()
satırında gerçekleştiğini anladım.
Bunun bağlantının hala açılmasından kaynaklanmış olabileceğini düşündüm. Ama neden sadece using()
kullanıyor? Bu problemi nasıl çözebilirim?
Desteğiniz için teşekkürler!
i bir prosedür bağlandığınızda hep bu standart takip
neden (var dbAbel_Reporting = new Abel_ReportingPortalEntities()) { – Bharat
gibi connestionstring kullanmak kalmayacağı gibi bunun yeni örneğini oluştur .. – Bharat
yani var içine kullanmak kullanarak bu – Bharat