【发布时间】:2016-12-19 02:42:23
【问题描述】:
我有一个异步调用方法的网络服务:
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
当该网络服务上有大量请求时,我经常收到以下错误:
System.Data.SqlClient.SqlException (0x80131904): Could not find stored procedure 'storedprocedurename'.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
可能是什么问题?会不会因为 rush 导致 Settings 类的值发生冲突?
【问题讨论】:
-
请提供
StaticClass.ProcessAsync()和GetInfoFromDatabase()方法的完整代码。这似乎是并发问题,但没有办法在不查看代码的情况下解决它。以及为什么要使用new关键字? ProcessAsync 是一个类,你调用构造函数吗?
标签: c# sql web-services stored-procedures asynchronous