gpt4 book ai didi

asp.net-mvc - 在MVC Controller 构造函数中获取主机名

转载 作者:行者123 更新时间:2023-12-03 23:21:52 25 4
gpt4 key购买 nike

是否可以从 Controller 构造函数中获取当前主机名?

Request 和 HttpContext 对象都为空,因此 Request.Url 不会产生任何结果。

public class HomeController : Controller
{
private readonly MyEntities _entities;

public HomeController()
{
//
var hostname = Request.Url;
if (hostname.Contains("localhost")) EFConnectionStringName="localhost";
else EFConnectionStringName="default";
_entities = new MyEntities(EFConnectionStringName);
}
...

我在这里尝试解决的更大问题是根据主机名为 Entity Framework 选择一个连接字符串。想法?

最佳答案

Request 期间确实为空施工您的 Controller 。试试这个:

protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
var hostname = requestContext.HttpContext.Request.Url.Host;

// do something based on 'hostname' value
// ....

base.Initialize(requestContext);
}

另外,请注意 Request.Url不会返回主机名,而是返回 Uri您可以使用 Url.Host 从中提取主机名的对象.

MSDN .

关于asp.net-mvc - 在MVC Controller 构造函数中获取主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19806537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com