asp.net-mvc-3 – MVC 3子域路由
在asp.net MVC 3网站,我想为用户创建网上商店。 我试过一些路由工作,但失败了。我正在研究一个解决方案,但找不到任何适当的解决方案。 我的目的是;如果我可以添加一个路由来管理任何试图找到一个子域的请求,我会检查它是否是一个用户在线商店名称,并获得动态数据在播放。 需要路由帮助:)谢谢。 解决方法我发现了一个非常强大的方式。所以检查这:)首先为Visual Studio的应用程序开发服务器,你必须编辑’主机’文件。 以管理员身份打开记事本。为您的域添加任何名称 127.0.0.1 mydomain.com 和你需要在开发中使用什么。 之后给你的web项目一个特定的端口号。例如“45499”。通过这种方式,您将能够通过在浏览器中写入请求到您的项目: mydomain.com:45499 这是准备步骤。让我们得到答案。 通过使用IRouteConstraint类,您可以创建您的路由约束。 public class SubdomainRouteConstraint : IRouteConstraint
{
private readonly string SubdomainWithDot;
public SubdomainRouteConstraint(string subdomainWithDot)
{
SubdomainWithDot = subdomainWithDot;
}
public bool Match(HttpContextBase httpContext,Route route,string parameterName,RouteValueDictionary values,RouteDirection routeDirection)
{
var url = httpContext.Request.Headers["HOST"];
var index = url.IndexOf(".");
if (index < 0)
{
return false;
}
//This will bi not enough in real web. Because the domain names will end with ".com",".net"
//so probably there will be a "." in url.So check if the sub is not "yourdomainname" or "www" at runtime.
var sub = url.Split('.')[0];
if(sub == "www" || sub == "yourdomainname" || sub == "mail")
{
return false;
}
//Add a custom parameter named "user". Anything you like :)
values.Add("user",);
return true;
}
}
并在任何你想使用的路线中添加你的约束。 routes.MapRoute(
"Sub",// Route name
"{controller}/{action}/{id}",// URL with parameters
new { controller = "SubdomainController",action = "AnyActionYouLike",id = UrlParameter.Optional },new { controller = new SubdomainRouteConstraint("abc.") },new[] { "MyProjectNameSpace.Controllers" }
);
将此路由放在默认路由之前。就这样。 在约束中,您可以执行任何操作,如检查子域名是客户端商店名称或其他。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – MVC3 Html.BeginForm – 在RouteValueDic
- asp.net-mvc – 确定哪个控制器和操作在ASP.NET MVC中处理特
- asp.net-mvc – 谷歌日历无法读取ICalendar.
- asp.net – Request.IsLocal是安全还是可以欺骗?
- asp经典 – ASP检查请求方法
- asp.net-mvc-3 – ASP.NET MVC 3 MSChart错误:此数据系列只
- asp.net核心 – Microsoft Asp.Net 5 RC1
- asp.net – 我应该花费我的努力实现knockoutjs或查看jQuery
- asp.net-mvc – 一种在MVC环境中处理返回URL的智能方法
- asp.net-mvc – 在asp .net mvc 5中显示外部网页
- asp.net – ActiveDirectoryMembershipProvider
- asp.net – NewRelic – 如何忽略Web应用程序的一
- asp.net-mvc – 静态文件请求正在ASP.NET MVC3中
- asp.net-mvc – 自定义异常过滤器在asp.net MVC中
- 为什么我的ASP.NET MVC持久性的auth cookie不起作
- asp.net-mvc – 我如何编写一个MVC3 / 4应用程序
- asp.net-mvc – ASP.NET身份和声明
- asp.net-mvc – asp.net mvc针对不同操作的不同验
- asp.net-mvc-3 – MVC绑定到带有列表属性的模型忽
- asp.net – LinkButton CommandName和CommandArg
