我有一个在等待的操作之后执行存储过程的要求。 我当前正在使用EF_dbcontext.database.executesQLcommand
执行存储过程。
我在Web API解决方案中编写了该功能。 当我从POSTMAN调用Web API时,它成功地执行了过程,没有任何问题。
但当我尝试从UI界面执行该过程时,它引发了一个“超时异常”。
public async void ProcessEmployeeDetailsAsync(XmlDocument xmlContent)
{
// Some Business logic
if (_dbContext.Entry(EmployeeBatch).State == EntityState.Modified)
{
var recordCount = await _dbContext.SaveChangesAsync();
if (recordCount > 0)
{
SqlParameter EmpBatchId = new SqlParameter("@IPV_EmployeeBatchId", batchId);
_dbContext.Database.ExecuteSqlCommand(
"exec uspEmployeeBatchValidation_BatchId @IPV_BatchId",
EmpBatchId); // TimeOutException occuring
}
}
}
启动cs
services.AddDbContextPool<EmployeeContext>((serviceProvider, optionBuilder) =>
{
optionBuilder
.UseLazyLoadingProxies()
.UseSqlServer(_Configuration.GetConnectionString("EmployeeContext"));
});
我失踪的地方有谁能帮帮我吗? 因为我是异步编程的新手。
可能UI应用程序无法连接到数据库。 您在同一台机器上运行Web API和UI吗? 您正在使用Windows身份验证吗? 如果是,您正在运行WEB API和; 同一用户下的UI?