Tôi đang sử dụng ASP.NET MVC 4 beta mới và đang cố tạo một hệ thống chủ yếu hoạt động với thiết kế đáp ứng, nhưng đối với một chế độ xem cụ thể, tôi đang sử dụng chế độ xem trên thiết bị di động để hiển thị chế độ xem cụ thể cho thiết bị di động.Tại sao số lượt xem trên thiết bị di động trong ASP.NET MVC hiển thị khác nhau trên các máy chủ khác nhau?
Cấu trúc của tôi đơn giản là tôi có Show.cshtml và sau đó tôi có Show.mobile.cshtml.
Nếu tôi làm cho trang web của mình có sẵn từ máy tính của tôi thông qua IIS Express, chế độ xem này hiển thị chính xác cho iPad, iPhone, điện thoại Android và Opera di động, và nó cũng hoạt động tương tự nếu tôi xuất bản cục bộ sang IIS 7.5 trên dev của tôi máy móc.
Sự cố xảy ra khi chúng tôi triển khai một máy chủ trực tiếp, chúng tôi đã thử triển khai trên hai máy chủ khác nhau. Sau đó, chế độ xem trên thiết bị di động sẽ chỉ được phân phát cho iPhone, không có thiết bị di động nào khác. Điều này là nhất quán như vậy. Các máy chủ của chúng tôi được thiết lập là cả Windows 2003/IIS6 và Windows 2008 R2/IIS7.5 và nó hoạt động giống nhau trên cả hai, chỉ có iPhone được phục vụ chế độ xem di động.
Nguyên nhân có thể là gì?
Tôi chưa thêm bất kỳ tùy chỉnh nào trong global.asax cho việc này.
CẬP NHẬT
Sau khi một số nghiên cứu hơn nó có vẻ rõ ràng với tôi rằng hành vi mặc định cho DisplayMode và quan điểm di động phụ thuộc vào lá cờ Request.Browser.IsMobileDevice. Cờ này lần lượt dường như dựa vào các tệp .browser trong thư mục Config/Browsers của thư mục .NET Framework.
Trên máy tính dev của tôi, tôi có các tệp .browser khác với tệp có trên các máy chủ mà tôi đã triển khai. Cho đến nay tôi đã cố gắng triển khai những cái tôi có trên máy của mình trong thư mục App_Browsers của ứng dụng web, nhưng điều đó không khắc phục được sự cố của tôi. Đây có phải là con đường để đi không?
Bạn đã thử nhổ chuỗi tác nhân người dùng của mình chưa? Tôi đang tự hỏi liệu IIS đang rối tung với nó hay giải quyết nó một cách khác nhau. –
Dường như với tôi rằng trường hợp mặc định của DisplayMode phụ thuộc vào các trình duyệt được định nghĩa trong thư mục Config \ Browsers của thư mục khung. Một số nghiên cứu thêm cho thấy rằng những khác biệt này trên các máy khác nhau. Đây có phải là cái gì đó được uppdated thông qua Wep Plattform Installer? – Cros