这是多年来一直在努力的情景.我在(比如)www.MySite.co.uk上有一个父asp.net Web应用程序,在它下面我有多个虚拟目录中的子(客户)站点,例如www.MySite.co.uk/Client1等.所有站点(父站点)和子虚拟目录)是使用.NET 4.5的传统asp.net Web表单应用程序,一切正常.
昨天,我将我的父网站更新为asp.net MVC 5 Web应用程序(由自由职业者为我开发).我只更新了父网站,它打破了我所有的子网站.作为紧急修复,我已经在我的父MVC站点中重命名了web.config文件,显然这已经破坏了我的父站点,但至少客户端(子站点)网站再次运行.
在根应用程序(MVC之一)中显然有一个设置,webforms网站正在继承它们并且它们不喜欢它.
在我的研究中,我遇到了这个:http://forums.iis.net/t/1200821.aspx?创建+virtual+directory+for+ASP+NET+website+under+MVC+应用程序,所以我想知道是否设置问题是我的MVC RouteConfig.cs文件.我的自由职业者设置它以便我的aspx路径的旧链接仍然可以工作(即映射到我的新视图).我还不熟悉代码,但这里有一段代码:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "HelpRedirect",
url: "Help/{*route}",
defaults: new { controller = "Help", action = "ViewRedirect" }
);
routes.MapRoute(
name: "AspxRoute",
url: "{controller}/{action}.aspx",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "ContactRoute",
url: "Contact.aspx",
defaults: new { controller = "Contact", action = "Index", id = UrlParameter.Optional }
); …Run Code Online (Sandbox Code Playgroud)