안녕하세요 저는 현재 내 학교의 일종의 위키 시스템을 개발 중이며,이 시스템은 하위 도메인을 사용하여 위키가 속한 코스를 찾습니다. 예를 들어 math1.wiki.com은 수학 1 과정입니다. 이제 위키는 같은 데이터베이스를 사용하고 어떤 데이터를로드 할 지 찾기 위해 위키 ID가 주어집니다.동적 사이트, 글로벌 액세스 세션
위키 ID를 찾는 데 사용하는 코드는 다음과 같습니다. Global.asax에
protected void Session_Start()
{
var database = new DataContext();
IWikiRepository rep = new WikiRepository(database);
IWikiService service = new WikiService(rep);
var domain = HttpContext.Current.Request.Url.Authority;
var port = "";
if (domain.Contains(':'))
{
var tmp = domain.Split(':');
domain = tmp[0];
port = tmp[1];
}
var split = domain.Split('.');
var subdomain = split[0];
// if (subdomain == "localhost")
// subdomain = "wiki1";
var wiki = service.GetSite(subdomain);
if (wiki == null)
{
Response.StatusCode = 404;
return;
}
Session["CurrentWiki"] = wiki;
}
이 모든 괜찮지 만 난 더 위키는 하위 도메인을 찾을 수 없습니다 된 경우 MVC 시스템은 404 요청을 보낼 수 있도록합니다. 하지만 이것은 session_start()에서 한 번만 수행 할 수 있습니다. 세션 당 한 번 실행되므로 Application_BeginRequest를 사용하여 tryed하지만 슬프게도 메서드의 세션에 액세스 할 수 없습니다.
내가 어떻게 구현할 수 있는지 아는 사람이 있습니까?
사람이 링크를 사용하여 다른 컨트롤러로 직접 이동하면 어떻게됩니까? 그런 다음 사이트가 점검되지 않고 오류가 발생합니다. – Androme