어떻게 asp.를 기록합니까net 사이트가 다시 시작되는 이유는?
사이트에서 Application 실행End 이벤트에 로깅 메서드를 추가합니다.글로벌에서.asax.cs 파일에 다음 코드를 추가하면 됩니다.
view source print ?
01
void
Application_End(
object
sender, EventArgs e)
02
{
03
// Code that runs on application shutdown
04
RecordEndReason();
05
}
06
07
protected
void
RecordEndReason()
08
{
09
HttpRuntime runtime = (HttpRuntime)
typeof
(System.Web.HttpRuntime).InvokeMember(
"_theRuntime"
,
10
BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.GetField,
11
null
,
12
null
,
13
null
);
14
15
if
(runtime ==
null
)
16
return
;
17
18
string
shutDownMessage = (
string
)runtime.GetType().InvokeMember(
"_shutDownMessage"
,
19
BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetField,
20
null
,
21
runtime,
22
null
);
23
24
string
shutDownStack = (
string
)runtime.GetType().InvokeMember(
25
"_shutDownStack"
,
26
BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetField,
27
null
,
28
runtime,
29
null
);
30
31
EventLog log =
new
EventLog();
32
33
log.Source =
"ASP.NET 2.0.50727.0"
;
34
log.WriteEntry(String.Format(
"\r
\r
_shutDownMessage={0}\r
\r
_shutDownStack={1}"
, shutDownMessage, shutDownStack), EventLogEntryType.Information);
35
}
상기 방법은 재부팅의 원인과 재부팅할 때의 창고 정보를 윈도우즈 이벤트 뷰어에 기록합니다. 물론 텍스트 파일에도 기록할 수 있습니다.
이 방법은 내가 scottgu의 블로그에서 본 것이다.
Asp.Net 사이트가 재부팅되는 10가지 이유
Asp.Net 사이트는 때때로 영문도 모른 채 재부팅될 수 있는데, 어떤 원인이 초래되었는지 알 수 없다. 한바탕 고생을 한 후에, 나는 Asp.를 초래했다고 총괄했다.Net 사이트가 재부팅되는 10가지 이유
1. 애플리케이션 풀을 재확보하면 사이트가 재부팅됩니다. 레코드의 원인은 다음과 같습니다.
HostingEnvironment initiated shutdown HostingEnvironment caused shutdown
2. 애플리케이션 풀 재확보 규칙을 수정하면 재부팅이 발생할 수 있으며 재부팅 원인은 다음과 같습니다.
HostingEnvironment initiated shutdown HostingEnvironment caused shutdown
3. IIS에서 사이트 이름을 수정하여 재부팅하지 않음
4. 사이트 루트 디렉터리의 프로필 웹을 수정합니다.config, 구성 파일 주석에 몇 개의 빈칸을 추가하면 리셋을 할 수 있습니다. 리셋을 시작하는 이유는 다음과 같습니다.
CONFIG change HostingEnvironment initiated shutdown
하지만 하위 디렉터리의 웹을 수정합니다.config 파일이 바로 재부팅되는 것은 아닙니다
5. aspx를 수정하면 마스터 파일이 반드시 재부팅되지 않습니다.그러나 매번 수정할 때마다 재컴파일링이 발생하고 재컴파일 횟수가 15회에 이르면 사이트가 재부팅됩니다. 재부팅 이유는 다음과 같습니다.
Recompilation limit of 15 reached HostingEnvironment initiated shutdown
15번 후에 이 숫자를 다시 시작하면 웹에서 사용할 수 있습니다.config에서 설정을 하고 compilation의numRecompilesBeforeAppRestart 속성 값을 수정하면 됩니다.
6. bin 디렉터리에 있는 pdb 파일을 삭제하면 리셋을 초래할 수 있습니다. 리셋의 원인은 다음과 같습니다.
Change Notification for critical directories.
bin 디렉토리에 빈 폴더를 새로 만들면 사이트가 재부팅됩니다. 재부팅 이유는 다음과 같습니다.
Directory rename change notification for 'D:\projects\TestWebApp\TestWeb'.T estWeb dir change or directory rename
bin 디렉토리에서 빈 폴더를 삭제하면 다음과 같은 이유로 사이트가 재부팅됩니다.
Directory rename change notification for 'D:\projects\TestWebApp\TestWeb'.T estWeb dir change or directory rename
7. Global 수정asax 파일은 사이트를 재부팅하고 몇 개의 공백을 넣어도 재부팅합니다. 로깅의 재부팅 이유는 다음과 같습니다.
Change in GLOBAL.ASAX HostingEnvironment initiated shutdown
8. App에코드 디렉토리를 수정하면 사이트가 다시 시작됩니다.
사이트 루트 디렉토리에 App 이름 추가하기코드의 폴더는 다음과 같은 이유로 재부팅됩니다.
Change Notification for critical directories. App_Code dir change or directory rename
App 삭제Code 폴더로 인해 사이트가 재부팅됩니다. 로깅이 재부팅되는 이유는 다음과 같습니다.
File Change Notification Error in D:\projects\TestWebApp\TestWeb\app_code
Change Notification for critical directories.
App_Code dir change or directory rename
App코드 폴더 아래에 cs 파일을 새로 만들거나 삭제하면 사이트가 재부팅됩니다. 그 이유는 다음과 같습니다.
Change Notification for critical directories. App_Code dir change or directory rename
9. 주요 경로를 변경하면 사이트가 재부팅됩니다. 주요 경로는 다음과 같습니다.
bin, App_Code, Web References,App_Browsers,App_GlobalResources,App_LocalResources
10. 바이러스 백신 소프트웨어가 파일을 스캔하면 asp.net 프로세스가 파일이나 관건적인 경로가 바뀌었다고 오인하여 다시 시작할 수도 있습니다.
지금까지 제가 정리한 결과 Asp.net 사이트가 다시 시작되는 10가지 이유전체적으로 말하면 세 가지 측면이 사이트를 다시 시작할 수 있다. 하나는 IIS 설정에 변화가 발생하는 것이다.한편으로는 asp.net 관련 파일 설정 파일, 글로벌 파일, aspx, ascx,master 등 형식의 파일에 변법이 발생합니다.세 번째는 관건적인 경로bin, appCode, Web References,App_Browsers,App_GlobalResources,App_LocalResources 가 변경되었습니다.
Asp. 기록 방법Net 사이트가 재부팅되는 이유는 무엇입니까?
http://www.cnblogs.com/yukaizhao/archive/2011/08/12/asp-net-site-restart-reasons.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.