HttpRequestBase 클래스는 Browser property이고 HttpBrowserCapabilitiesBase을 반환합니다. 현재 MVC 인프라 코드 일부에서이 속성을 사용하여 브라우저 이름 및 버전 번호 (로그 출력)를 가져옵니다.UserAgent 문자열에서 HttpBrowserCapabilitiesBase 만들기
우리는 또한 ServiceStack을 사용하는 API를 가지고 있으며, 이것을 기존 인프라에 연결하고 싶습니다. 누락 된 유일한 것은 UserAgent 헤더 (IHttpRequest.UserAgent 덕분에)에서 브라우저 이름과 버전을 구문 분석 할 수 있지만이를 구문 분석 할 방법이 필요합니다.
내 질문 - 어떻게 그냥 UserAgent 문자열로 HttpBrowserCapabilitiesBase를 만들 수 있습니까? msdn에서 볼 수있는 유일한 하위 유형은 HttpBrowserCapabilitiesWrapper이며 유일한 ctor는 다른 HttpBrowserCapabilitiesBase입니다.
나는이 클래스가 아마도 UserAgent 문자열을 구문 분석한다고 생각했기 때문에 ctor (string)가없는 이유는 무엇입니까 ?? 이 작업을 수행 할 수없는 하위 유형, 팩토리 또는 정적 메서드가 있습니까?
일반적으로 나는 게으름을 피우고 있습니다. 필자는 다른 UserAgent 파서를 쓰고 싶지 않습니다 .Net이 그 기능을 숨기고 있다는 것을 알고 있습니다.
HttpBrowserCapabilitiesBase은 그래서 당신은 모든 인스턴스를 만들 수 있도록 않을거야 추상적이다. – stuartd
예.하지만 HttpBrowserCapabilitiesWrapper는 msdn에서 유일한 상속자이며, 유일한 ctor는 다른 HttpBrowserCapabilitiesWrapper를 사용합니다. – csauve
래퍼 * 이외의 구체적인 것은 * 어딘가에 있어야합니다. – csauve