2013-07-05 2 views
0

안녕하세요 저는 셰어 포인트 2007을 사용하고 있으며 요구 사항은 IIS 리셋 후에 진행중인 셰어 포인트 목록의 모든 워크 플로를 중지하는 것입니다.C에서 마지막 IISreset 시간을 찾는 방법

어떻게 프로그래밍 방식으로 C#을 사용하여 마지막 IISReset 시간을 찾습니다.

답변

0

SCM 또는 서비스 제어 관리자가 기록합니다. 이벤트 뷰어에서 시스템 로그를 열어서보아야합니다.

EventLog eventLog = new EventLog(); 

eventLog.Log = "System"; 

eventLog.Source = "Service Control Manager"; //Not 100% sure thats correct 

eventLog.MachineName = "IIS Server name"; 

foreach (EventLogEntry log in eventLog.Entries) 
{ 
    Console.WriteLine("{0}\n",log.<Property you need for info>); 
} 

나는 이벤트 ID가 무엇인지 알아 내고 오류 텍스트 나 그 라인을 따라 무엇이든지 일치시키는 대신 키를 누를 것이라고 말하고 싶습니다. 빠른 검색에서 3203을 찾았습니다. 아래에 WMI 솔루션도 있습니다. 두 가지 모두에 대한 성능 테스트를 제안합니다. EventLogReader는 Windows Vista 또는 Windows Server 2008 이상이 있어야 사용할 수있는 또 다른 방법이 있습니다.

var query = new ObjectQuery("Select * from Win32_NTLogEvent 
         where LogFile='Application'"); 
var searcher = new ManagementObjectSearcher(query); 
var result = searcher.Get(); // Result is your Collection of Event Log entries 
foreach(var eventEntry in result) 
{ 
    //access properties in this fashion would suggest try parse 
    int id = int.Parse(eventEntry["Event ID Property Name"].ToString()); 
} 
+0

안녕하세요,하지만 프로그래밍 방식으로 C#을 사용해야합니다. – Godwin

+0

안녕하세요 편집하여 이벤트 로그에 액세스합니다 – Bearcat9425

+0

감사합니다. 그러나 이것은 도움이됩니다. 그러나 evenviewer에 거대한 로그가 있다는 것을 고려하면 eventlog를 쿼리하는 데 시간이 많이 걸릴 수 있습니다. – Godwin

관련 문제