我有一个web服务异步调用一个方法:
public Response Method1(Request request)
{
new StaticClass.ProcessAsync(request);
return new Response
{
result = 0,
resultDescription = "success"
};
}在方法ProcessAsync(Request request)中,我从数据库中选择:
连接字符串和存储过程的值取决于请求类值:
Settings settings = GetInfoFromDatabase(request);
string conString = settings.ConnectionsString;
string storedProcedureName = settings.StoredProcedureName;
//execute stored procedure当web服务上出现大量请求时,我经常会收到以下错误:
System.Data.SqlClient.SqlException (0x80131904): Could not find stored procedure 'storedprocedurename'.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)有什么问题吗?这会不会是由于匆忙而导致的设置类的值冲突呢?
发布于 2016-08-16 11:48:22
在短时间内多次访问数据库时,您的数据库连接代码可能有问题。你为什么不试试EF连接并执行SP呢?它很简单,可以很容易地处理这么多的请求。
发布于 2016-08-16 13:39:37
有可能在出现匆忙时,用户之一在读取级别或执行级别上都没有对数据库的权限。
尝试查看Server日志文件是否有帮助。
https://stackoverflow.com/questions/38911948
复制相似问题