【发布时间】:2015-05-19 06:26:04
【问题描述】:
我在 C# 项目中有一个业务逻辑层,我需要找到一种方法来根据运行网站的基本 url 生成一个 url。
例如,这是网址:http://localhost:56240/Management/Quiz.aspx?QuizID=46
我需要一种方法来获得这部分:http://localhost:56240 使用来自业务逻辑层的 C# 代码(意味着我不能使用 Request 对象或 context.Request)。
有没有办法做到这一点?
【问题讨论】:
-
在某些时候,如果您正在处理一个请求,您必须有权访问 HttpContext。在那里获取上下文,然后将您需要的任何值作为值类型传递给 BL,这样 BL 就不会触及 HttpContext
-
当我可以访问 HttpContext / Request 时,我知道如何获取 url。但是有没有办法在没有任何访问权限的情况下获得它?
-
这就是 frenchie 所说的 - 只需将其传递到业务层。这就是分离层的全部意义:)
标签: c#