4

요청의 응답 메시지를 검색하기 위해 HttpWebRequest 및 HttpWebResponse 개체를 프로그래밍 방식으로 생성하는 Windows 서비스를 현재 제공하고 있습니다.어떤 버전의 IE가 C#에서 OS에 설치되어 있는지 감지하고 있습니까?

HttpWebRequest의 UserAgent 속성은 브라우저 에이전트로 IE 6을 사용하도록 하드 코딩되었습니다. 서비스를 호스팅하는 서버에 설치된 IE의 버전을 프로그래밍 방식으로 감지하는 방법입니까?

현재 Windows Server 2003 컴퓨터에서 호스트되며 Windows Server 2008 컴퓨터에 설치되어있을 수 있습니다. 그것은 사용자 에이전트처럼 보이는

+0

[WinForms 응용 프로그램의 IE 버전 검색] 가능한 복제본 (http://stackoverflow.com/questions/6294809/detect-ie-version-from-a-winforms-application) –

+0

@RowlandShaw 실제로 그 질문은 구체적입니다. WinForms. 그것은 http://stackoverflow.com/questions/3553984/how-do-i-detect-which-version-of-internet-explorer-is-installed의 복제물과 더 비슷합니다. 그러나이 질문은 그 둘보다 오래되었으므로 기술적으로 말하자면 중복이됩니다 :) –

답변

2

당신이 할 수있는 당신이 하나를 만든 경우 또한, 웹 브라우저 컨트롤 자체에서 압축을 풉니 다

WebBrowser browser = new WebBrowser(); 
Version ver = browser.Version; 

경고 :이가 STA 스레드에서 호출해야합니다, 그렇지 않으면 예외가 발생합니다. STA가 아닌 MTA 인 MSTest 정리 코드에서이 문제가 발생할 수 있습니다.

+0

WinForms에 대한 참조를 추가하기 위해 잔인한 행동이 보입니다. 더 나은 대안을 보려면 링크 된 답변을 참조하십시오. –

관련 문제