我需要在C#中使用MVC4 ...
{id} .example.com或
{ID} .example.com的/ {控制器} / {动作}
或者
在localhost中,我该如何测试它。
我的意思是,我可以用以下格式调试此代码......
{id} .localhost:51782或
{ID} .localhost:51782 / {控制器} / {动作}
请完整解释一下。
答案 0 :(得分:0)
您需要使用"虚拟"处理您的请求URL,例如{user}.example.com
,并使用httpContext.RewritePath()
在内部更新httpcontext路径。最后,您将拥有两种类型的URI。
可以在Application_BeginRequest
文件
Global.asax.cs
内进行处理
protected void Application_BeginRequest(object sender, EventArgs e)
{
var domainHandler = new DomainsHandler(Context);
domainHandler.Handle();
}
DomainHandler的例子:
public class DomainsHandler
{
private readonly HttpContext httpContext;
public DomainsHandler(HttpContext httpContext)
{
this.httpContext = httpContext;
}
public void Handle()
{
httpContext.RewritePath(path);
}
}
Handle()方法中的重写逻辑取决于你。