2014-11-24 2 views
0

나는 페이지가있는 SQL 서버에 테이블을 가지고 있으며 생성 된 각 페이지에는 슬러그가 있습니다. 내가 한 일은 테이블의 foreach 페이지가 슬러그를 얻고 다음을 수행하는 것입니다.asp.net webforms 동적 라우팅

routes.MapPageRoute(page.Slug, page.Slug, "~/page.aspx?id=" + page.Id, true, new System.Web.Routing.RouteValueDictionary { { "id", page.Id } });  

지금까지는 이것이 완벽하게 작동합니다. 내 문제는 응용 프로그램 시작시 global.asax 파일에서 실행되므로 iis에서 웹 사이트를 다시 시작하지 않으면 매핑이 작동하지 않는 새 페이지를 만듭니다. 나는 haacked에 의해이 포스트를 읽고 있었지만, 아직 풀리지는 않았지만 이것이 해결할 수 있을지 확신 할 수 없었다. 이론적으로 이론적으로 모든 라우팅을 새로 고쳐야하는 페이지를 만들 때 어떤 생각이 들까? 당신은 아마 동적 컴파일 누락

RouteTable.Routes.RegisterRoutes("~/Config/Routes.cs"); 
+0

구체적인 문제는 무엇입니까? 'ConfigFileChangeNotifier' 델리게이트를 첨부하고 있습니까? – beautifulcoder

+0

@beautifulcoder 어떻게 붙일 수 있습니까? – Andres

답변

0

: RouteMagic를 사용하는 경우

그래서 나는이 줄에서 오류 "개체의 인스턴스로 설정되지 않았습니다 개체 참조"를 얻는다. 동적으로 또한 코드를

var assembly = BuildManager.GetCompiledAssembly("~/Config/Routes.cs"); 
var registrar = assembly.CreateInstance("Routes") as IRouteRegistrar; 

를 컴파일 샘플 코드에서 확인이 정적으로 컴파일하지 않도록 Route.cs는 내용으로 설정되어 있는지 확인합니다.

+0

그 두 줄은 내가 어디에 추가할지 모릅니다. 내가 길을 재창조해야 할 때마다 언제입니까? – Andres

+0

샘플 코드를 살펴 보았습니까? – beautifulcoder

+0

샘플 코드를 다운로드하려고 시도했지만 더 이상 사용할 수 없다고 알려야합니다 : http://haacked.com/archive/2010/01/17/editable-routes.aspx/ – Andres