如何获取 .Net Core 中间件中的当前子域?
How do I get the current subdomain within .Net Core middleware?
如何在 asp.net 中获取当前请求(在中间件组件中)的当前子域 5.
我以前使用过下面的代码并寻找类似的东西。
public static string GetSubDomain()
{
string subDomain = String.Empty;
if (HttpContext.Current.Request.Url.HostNameType == UriHostNameType.Dns)
{
subDomain = Regex.Replace(HttpContext.Current.Request.Url.Host, "((.*)(\..*){2})|(.*)", "").Trim().ToLower();
}
if (subDomain == String.Empty)
{
subDomain = HttpContext.Current.Request.Headers["Host"].Split('.')[0];
}
return subDomain.Trim().ToLower();
}
在此期间,我设法找到了自己的答案...感谢评论。
private static string GetSubDomain(HttpContext httpContext)
{
var subDomain = string.Empty;
var host = httpContext.Request.Host.Host;
if (!string.IsNullOrWhiteSpace(host))
{
subDomain = host.Split('.')[0];
}
return subDomain.Trim().ToLower();
}
如果您使用 Cross-Domain,最好的选择是使用来自 Request-Header 的 Origin。
类似于:
Request.Headers.TryGetValue("Origin", out var origin);
然后使用 split 或任何您喜欢的方式操作该值。
如何在 asp.net 中获取当前请求(在中间件组件中)的当前子域 5.
我以前使用过下面的代码并寻找类似的东西。
public static string GetSubDomain()
{
string subDomain = String.Empty;
if (HttpContext.Current.Request.Url.HostNameType == UriHostNameType.Dns)
{
subDomain = Regex.Replace(HttpContext.Current.Request.Url.Host, "((.*)(\..*){2})|(.*)", "").Trim().ToLower();
}
if (subDomain == String.Empty)
{
subDomain = HttpContext.Current.Request.Headers["Host"].Split('.')[0];
}
return subDomain.Trim().ToLower();
}
在此期间,我设法找到了自己的答案...感谢评论。
private static string GetSubDomain(HttpContext httpContext)
{
var subDomain = string.Empty;
var host = httpContext.Request.Host.Host;
if (!string.IsNullOrWhiteSpace(host))
{
subDomain = host.Split('.')[0];
}
return subDomain.Trim().ToLower();
}
如果您使用 Cross-Domain,最好的选择是使用来自 Request-Header 的 Origin。 类似于:
Request.Headers.TryGetValue("Origin", out var origin);
然后使用 split 或任何您喜欢的方式操作该值。