Behide Code에서 브라우저 체크를 해야만 했다.
그 이유는 유튜브가 2020년 3월 1일부터 익스플로러에서 유튜브를 지원하지 않기 때문에
익스플로러에서 예외처리가 필요했기 때문이다.
사실, Javascript에서 UserAgent를 이용해서 체크해도 문제는 없었다.
Javascript에서 UserAgent를 이용해서 웹 / 모바일 분기 처리하는 코드는 이전 글을 참고하자.
2019/12/04 - [개발/Javascript] - [Javascript] 웹 / 모바일 분기 처리 방법.
하지만 Behide Code에서 체크하는 것이 더 좋다고 판단했기에, 찾아낸 결과를 공유해 본다.
결과는 HttpCapabilitiesBase 클래스를 이용한다.
해당 클래스는 클라이언트 브라우저의 기능에 대한 세부 정보를 확인할 수 있는 클래스이다.
HttpCapabilitiesBase.Browser 속성에서 사용자가 접속한 브라우저 정보를 얻을 수 있다.
Request.Browser도 사용해야하는데,
아래와 같이 다양한 정보가 Request.Browser에 담겨있다.
말해 뭐하냐, 코드를 확인해보자.
1
2
3
4
|
var browser = ((HttpCapabilitiesBase)(Request.Browser)).Browser.ToLower();
if (browser.Equals("internetexplorer")){
// 실행코드
}
|
cs |
코드는 간단하다.
Request.Browser을 RequestHttpCapabilitiesBase 클래스로 캐스팅해서, Browser속성을 이용하여 사용자의 브라우저 정보를 알 수 있다.
MSDN에서 익스플로러를 비교할 때,
.ToUpper().IndexOf("IE") >= 0 로 확인했는데 내가 테스트해봤을 때에는 브라우저 값이 InternetExplorer로 나왔다.
그래서 MSDN과 다르게 확인했다. (크롬은 정상적으로 Chrome로 나왔다.)
그리고 RequestHttpCapabilitiesBase 클래스에서 IsMobileDevice 속성 값이 있었다.
PC / Mobile 환경 체크를 속성 값 하나로 한 번에 할 수 있어서 편리했다. (자주자주 써야 할 듯싶다.)
'개발 > ASP.NET' 카테고리의 다른 글
[ASP.NET] Cookie(쿠키)를 이용한 LoginView 컨트롤 사용하기. (3) | 2020.07.10 |
---|---|
[ASP.NET MVC] View() / RedirectToAction() 무엇이 다른가 살펴보자. (0) | 2020.02.06 |
[ASP.NET MVC] DropDownList DataBind에 대해 알아보자. (0) | 2020.02.06 |
[ASP.NET] 패스워드 암호화 (feat.PasswordHasher) (1) | 2020.01.30 |
HTTP 응답 상태 코드 301 / 302 에 대해 알아보자. (1) | 2020.01.15 |