0
我有這個問題與錯誤超時,總是當它假設從數據庫中獲取數據它反彈錯誤。我想使用此代碼從數據庫中檢索視頻:MVC DataReader超時錯誤
Repository.cs
public List<videoTble> Video()
{
var model = new List<videoTble>();
string ConStr = "Data Source="";Connect Timeout=60";
using (SqlConnection con = new SqlConnection(ConStr))
{
string str = "SELECT * FROM videoTbles";
con.Open();
SqlCommand cmd = new SqlCommand(str, con);
cmd.CommandTimeout = 60;
SqlDataReader rd = cmd.ExecuteReader();
while (rd.Read())
{
var v = new videoTble();
v.Name = rd["Name"].ToString();
v.Data = (byte[])rd["Data"];
v.ContentType = rd["ContentType"].ToString();
v.ArtistName = rd["ArtistName"].ToString();
v.Expirydate = (DateTime)rd["Expirydate"];
model.Add(v);
}
con.Close();
}
return model;
}
Controller.cs
public ActionResult Download()
{
Repository res = new Repository();
ViewBag.Video = res.Video();
return View();
}
Model.cs
public partial class videoTble
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string ContentType { get; set; }
public byte[] Data { get; set; }
public string ArtistName { get; set; }
public DateTime Expirydate { get; set; }
}
The timeout Error I got, when i run application
你在videoTbles中有很多數據嗎? – user3509208
嘗試從你的代碼中刪除這個,看看它是否有任何區別。 「cmd.CommandTimeout = 60;」 – user3509208
刪除cmd.CommandTimeout = 60會使默認值爲30.它將超時甚至更快。如果你設置了cmd.CommandTimeout = 0,它將永遠等待。 – rgvassar