1
我正在開發一個使用實體框架4.1的ASP.Net MVC 3 Web應用程序。我最近將應用程序上傳到我的測試服務器,並且我注意到ELMAH發送的錯誤電子郵件,其中說明了ASP.Net MVC 3 System.Data.SqlClient.SqlException超時過期
System.Data.SqlClient.SqlException超時已過期。操作完成之前經過的超時期限爲 或者服務器不是 響應。
下面顯示了我的一些代碼。
控制器
public ActionResult VerifyEmail(int uid, string vid)
{
var userList = _userService.VerifyEmail(uid,vid).ToList();
}
服務
public IList<User> VerifyEmail(int uid, string emailvcode)
{
return _uow.User.Get(u => u.userID == uid && u.emailVerificationCode == emailvcode).ToList();
}
工作單位
public class UnitOfWork : IUnitOfWork, IDisposable
{
readonly LocumEntities _context = new LocumEntities();
private GenericRepository<User> _user = null;
public IGenericRepository<User> User
{
get
{
if (_user == null)
{
_user = new GenericRepository<User>(_context);
}
return _user;
}
}
}
通用庫
public IList<TEntity> Get(Expression<Func<TEntity, bool>> filter = null,Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null,string includeProperties = "")
{
IQueryable<TEntity> query = dbSet;
if (filter != null)
{
query = query.Where(filter);
}
foreach (var includeProperty in includeProperties.Split
(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
{
query = query.Include(includeProperty);
}
if (orderBy != null)
{
return orderBy(query).ToList();
}
else
{
return query.ToList();
}
}
的超時錯誤有時發生在服務方法中的行正試圖執行
return _uow.User.Get(u => u.userID == uid && u.emailVerificationCode == emailvcode).ToList();
此錯誤是不會發生的每一次,只是偶爾,但是,我不明白爲什麼這個查詢要麼返回一個用戶列表,要麼是一個NULL列表。
任何人都可以從我的代碼中發現爲什麼會發生這種情況?
任何反饋將不勝感激,因爲我不知道爲什麼會發生這種情況。
謝謝。