public static int WriteFileRouter(int PortalId, int ContentItemId, string CultureCode, bool Discontinued, string HomeDirectory, string RouterPath, string RouterFile) { List<aspnet_Routes> lst = RouteController.GetListByPortalIdCultureCodeStatus(PortalId, ContentItemId, CultureCode, Discontinued); if (!Directory.Exists(HomeDirectory)) Directory.CreateDirectory(HomeDirectory); if (!Directory.Exists(RouterPath)) Directory.CreateDirectory(RouterPath); string FileRouterPath = Path.Combine(RouterPath, RouterFile); if (!System.IO.File.Exists(FileRouterPath)) System.IO.File.Create(FileRouterPath); GC.Collect(); GC.WaitForPendingFinalizers(); FileHandleClass file_obj = new FileHandleClass(); FileInfo fileInfo = new FileInfo(FileRouterPath); string n = file_obj.ReadFile(fileInfo.FullName); int start = 0; int end = 0; if (n.IndexOf("//start") > -1) start = n.IndexOf("//start"); if (n.IndexOf("//end") > -1) end = n.IndexOf("//end"); string content = n.Replace(n.Substring(start + 7, end - start - 7), "\r\n "); file_obj.UpDateFile(fileInfo.FullName, content); n = file_obj.ReadFile(fileInfo.FullName); string optionparams = string.Empty; for (int i = 0; i < lst.Count; i++) { string RouteName = lst[i].RouteName; string RouteUrl = lst[i].RouteUrl; string PhysicalFile = lst[i].PhysicalFile; bool CheckPhysicalUrlAccess = lst[i].CheckPhysicalUrlAccess; string RouteValueDictionary = StringDirectionProcess(lst[i].RouteValueDictionary); if (RouteValueDictionary != "") RouteValueDictionary = ", new System.Web.Routing.RouteValueDictionary { " + RouteValueDictionary + " })"; else RouteValueDictionary = ")"; string newrow = "routes.MapPageRoute(\"" + RouteName + "\", \"" + RouteUrl + "\", \"" + PhysicalFile + "\"," + CheckPhysicalUrlAccess.ToString().ToLower() + RouteValueDictionary + ";"; n = n.Replace("//end", newrow + System.Environment.NewLine + " //end"); file_obj.UpDateFile(fileInfo.FullName, n); } return 1; }