最近,我发现自己与我的老板在我们的网络应用程序(ac#asp.net MVC应用程序)中处理异常有很多争论.
对话基本上是这样的:
老板:"我们的程序有问题,客户端x的数据库今天关闭,每个人都看到错误页面."
我:"大多数应用程序中的每个页面都使用数据库(错误页面除外),除了显示错误页面之外没有其他合理的选择."
老板:"我们的应用程序应该更具弹性 - 应用程序中不需要数据库访问的部分仍然可以运行."
通常情况下,情况就像这样极端,但有时我们遇到的情况是我们正在与另一个服务集成,我们仍然可以安全地显示页面的其他部分,或者完成操作,尽管有一些烦人的代码作为后面的部分代码需要稍后使用可能失败的操作结果.如果有许多可能的失败点,这可能会变成一些非常难以管理的代码.
一般来说,对于"普通"Web应用程序(不是任务关键等等),"好"开发人员花多少时间来尝试使其代码具有足够的弹性来处理这些情况.我的老板似乎认为代码应该能够处理几乎任何情况(你不能只捕获异常吗?).当有许多可能的失败点时,我不明白这是多么经济.
在Fluent NHibernate中是否有一种方法可以指定外键应该被索引?
MS Sql Server的默认配置不会索引外键.我希望NHibernate模式生成/更新工具生成的模式能够为这些密钥编制索引.当我只使用HasMany或HasManyToMany方法时,不会创建这样的索引.这是否可以使用原始XML映射?