2016-08-12 50 views
1

我有一个调用异步方法Web服务:拉什Webservice的冲突价值观

public Response Method1(Request request) 
     { 
      new StaticClass.ProcessAsync(request); 

      return new Response 
      { 
       result = 0, 
       resultDescription = "success" 
      }; 

     } 

里面的方法ProcessAsync(Request request)我从数据库中选择:

  • 一个ConnectionString的
  • 存储过程名称

    并执行该存储过程。

连接字符串的值和存储过程的费用取决于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) 

可能是什么问题?难道它会因急于设置类的值而发生冲突吗?

+0

请提供'StaticClass.ProcessAsync()'和'GetInfoFromDatabase()'方法的完整代码。这似乎是并发问题,但没有办法找出没有看代码。为什么你使用'new'关键字? ProcessAsync是一个类,你调用构造函数? –

回答

0

也许您的数据库连接代码在短时间内多次访问数据库时出现问题。为什么不尝试EF来连接并执行SP。这很简单,可以轻松处理这么多请求。

0

有可能在出现急促时,其中一个用户在读取级别或执行级别上对数据库没有权限。

尝试查看SQL Server日志文件是否有帮助。