0

我正在构建一个允许用户管理其个人帐户信息的 asp.net Web 应用程序。用户将拥有一个 Web 用户帐户,但在某些情况下,它可能与不同商店位置的多个帐户相关联。因此,为了让用户管理他们的帐户,我首先需要他们选择他们想要管理其帐户的位置。

这个应用程序是一个在更大的网站中运行的类库,它没有定义整个网站。我有一个名为 GetCurrentStore() 的集中方法,如果 Session 中存在选择,它将返回商店。如果未选择一个,那么 Response.Redirect([Store Selection Page URL], true ) 是处理获得一个的最佳方法吗?我知道这种方法会引发异常,因此它是一种有点昂贵的机制,但我不确定我是否知道任何会阻止进一步处理响应的替代方法。

4

1 回答 1

1

Response.Redirect([Store Selection Page URL], true) 是处理获取一个的最佳方法吗?

“最佳”有些主观且非常依赖于上下文,但有一些观察结果:

  • 通过从您的类库访问 Session,您正在增加耦合(它需要在 HTTP 请求的上下文中调用,除其他不良特征外,这使得它的可测试性降低)。我会在 UI 层中获取当前商店位置的名称或 ID,并将其传递给类库。

  • 如果您需要将用户重定向到另一个页面,那么引发异常的开销可能可以忽略不计。但同样,类库可能不是执行此操作的最佳位置:您应该检查当前存储位置是否在 UI 层的 Session 中,并在那里进行重定向。

于 2013-10-22T19:16:38.530 回答