关于c#:如何从业务逻辑层获取URL?


How can I get the url from the business logic layer?

我在一个C项目中有一个业务逻辑层,我需要找到一种基于运行网站的基本URL生成URL的方法。

例如,这是URL:http://localhost:56240/management/quick.aspx?QuiID=46

我需要一种方法来获得这一部分:http://localhost:56240,使用业务逻辑层的C代码(意味着我不能使用请求对象或context.request)。

有办法吗?


在类中,可以使用httpcontext.current属性(在system.web.dll中)。从那里,您也可以使用请求对象。例如

1
2
HttpRequest request = HttpContext.Current.Request;
string url = request.Url.Authority.ToString();

别忘了在你的课堂上包括System.Web的参考资料。


从表示层调用方法,将HttpContext传递到业务逻辑层,可以使用HttpContext.Request.Url.Authority获取域http://localhost:56240

或者,如果在HttpContext中不需要其他东西,可以直接将Request.Url.Authority作为字符串传递给方法。