asp.net - 在任务关键型数据库驱动的 Web 应用程序中,异常处理的最佳范例或设计模式是什么?

标签 asp.net sql-server sql-server-2005 error-handling

我想设计一个防弹、容错、数据库驱动的 Web 应用程序,并且想知道如何构建它。

该系统将有一个asp.net UI、Web 服务中间层和SQL2005 后端。 UI 和服务将使用 JSON 调用进行通信。

我想知道如何确保事务被提交,以及如何确保任何错误冒泡并被记录。理想情况下,该操作会在 5 分钟间隔后重试几次,就像电子邮件应用程序那样。

我计划在 SQL 中使用 try catch block ,并且想知道 SQL 存储过程和调用它们的服务之间的接口(interface)(或契约,如果你愿意的话)会是什么样子。该接口(interface)将起到两个作用,一是传递参数以使过程发挥作用并返回预期结果。接下来是 proc 返回错误信息。也许是错误号和错误消息之类的东西。

我的困境是如何智能地构建这个结构,以便服务能够对从过程返回的数据和错误信息做出相应的 react ,并相应地处理每个信息?

是否有一个框架,因为它看起来很样板?

最佳答案

您可能会考虑研究 SQL Server Service Broker:

http://msdn.microsoft.com/en-us/library/ms345108%28v=sql.90%29.aspx

The unique features of Service Broker and its deep database integration make it an ideal platform for building a new class of loosely coupled services for database applications. Service Broker not only brings asynchronous, queued messaging to database applications but significantly expands the state of the art for reliable messaging.

关于asp.net - 在任务关键型数据库驱动的 Web 应用程序中,异常处理的最佳范例或设计模式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5719401/

相关文章:

asp.net - 包尝试添加对 GAC 中未找到的 System.Runtime 的引用

sql-server - 将 'throw' 输出存储到变量中

sql-server - 根据数量字段返回多个结果

sql - MS SQL Server 2005 - 存储过程 "Spontaneously Breaks"

c# - 有趣的 ASP.NET 生命周期事件触发错误

c# - 使用 xPath 遍历项目

c# - session 而不是viewsate

sql-server - 是否可以在sql中的同一条语句中读取和分配变量?

sql-server - 创建新索引时是否会自动更新统计信息?

xml - 将 SQL 2005 中的 XML 数据类型转换为关系结果集