Tôi đang cố gắng xác định xem trình duyệt có phải là Internet Explorer trong ASP.NET Core ở phía máy chủ hay không.Phát hiện phía máy chủ nếu trình duyệt là Internet Explorer trong ASP.NET Core
Trong phiên bản trước ASP.NET 4 trong cshtml tôi:
@if (Request.Browser.Browser == "IE")
{
//show some content
}
nhưng trong ASP.NET 5/ASP.NET Lõi IntelliSense cho Context.Request
không có một lựa chọn cho Browser
tôi có thể có được UserAgent nhưng điều này có vẻ khá phức tạp vì IE có một số loại dây khác nhau
Context.Request.Headers["User-Agent"]
for Internet Explorer 11.0 Tôi nhận được
Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
khiến việc xác định mọi phiên bản IE trước đây, hiện tại hoặc tương lai từ đó trở nên rất khó khăn.
Toàn bộ lý do tại sao đội IE thay đổi chuỗi tác nhân người dùng cho IE11 là để cố gắng * ngừng * người đánh hơi cho IE . Đối với các phiên bản tương lai, họ sẽ thành công với nỗ lực này để kết thúc trình duyệt đánh hơi (tức là bạn sẽ thất bại với nhiệm vụ của mình), hoặc họ sẽ phải thực hiện thêm các thay đổi để đánh bại các kỹ thuật đánh hơi hiện tại của bạn, nếu chúng trở thành phổ biến. –