在ASP.NET应用程序中,我有少量相当复杂、经常使用的操作来针对数据库执行。在这些操作中,几个表中的一个或多个需要更新或插入基于输入参数和某些表的值的逻辑计算。我维护了逻辑访问和数据访问的分离,所以当前的操作如下:
从client
的适当数据operation
如您所见,客户端一直在等待,同时向数据库发出两个单独的请求。在寻找这方面的解决方案时,我发现了CLR存储过程,但我不确定我是否对它们的有用性有正确的认识。
我已经为上面的代码编写了一个替代品,特别是将步骤2-4放在CLR中。我的理解是,SP将由server在本地执行,只会导致对服务器的一个调用。
我的问题基本上是,这是打算使用CLR SPs,还是我遗漏了什么?
我意识到这在结构上有点妥协,所以如果有更好的方法来做,我很想听听。
发布于 2010-03-22 15:13:51
CLR是用来进行高级查询处理的,而存储过程实际上很难这样做。我遇到过很少的情况,他们的利益如此之大。它们不是用于业务层工作的,尽管您可以这样做。我不会在CLR中嵌入所有内容;分层分离在应用程序中是非常有益的。如果您需要加快代码的速度,请查看可用的内存/代码分析器,它们可以帮助您识别代码中的故障点。
在可能的情况下,用AJAX回调、web服务等替换服务器端代码,因为这样可以加快速度(至少允许您完成更多的异步工作)。
HTH。
https://stackoverflow.com/questions/2493289
复制相似问题