C# 如何将ASP.NET MVC网站作为子目录托管
我有一个ASP.NET MVC网站,我想把它放在现有web域的子目录中。通过这种方式,URL将类似于C# 如何将ASP.NET MVC网站作为子目录托管,c#,asp.net-mvc,C#,Asp.net Mvc,我有一个ASP.NET MVC网站,我想把它放在现有web域的子目录中。通过这种方式,URL将类似于www.existingsite.com/newsite/login,而不是www.newsite.com/login 我试着将它添加到RouteConfig.cs文件中,如下所示,但根本不起作用 public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resourc
www.existingsite.com/newsite/login
,而不是www.newsite.com/login
我试着将它添加到RouteConfig.cs
文件中,如下所示,但根本不起作用
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "NewSite/{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
之后,我进入项目的属性,将虚拟目录设置为localhost:port/NewSite
。在我尝试用用户信息解密cookie之前,这似乎是可行的
解密抛出一个错误
加密操作期间发生错误
它在这条特定的线路上爆炸:
FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(cookie.Value);
是否可以在子目录中托管ASP.NET MVC网站,还是必须位于根目录下?您试图解密的cookie是否由现有网站创建?如果是这种情况,两个站点都需要使用相同的机器密钥,即它们的web.config cookie由新闻站点代码创建。现有网站本质上只是一个IIS网站。