Программно включить / отключить перенаправление 51Degrees для каждого запроса

В двух словах, я пытаюсь выяснить, как программно включать и отключать перенаправление для мобильных телефонов на основе значения сеанса для каждого запроса (не статически для всех).

Вот предыстория:

В настоящее время я использую 51Degrees в своем приложении ASP.NET для перенаправления запросов на мобильную версию сайта. Я хотел бы добавить функцию, с помощью которой пользователи могут включать и отключать это перенаправление со страницы "Настройки". Настройка будет отличаться для каждого пользователя, и до сих пор каждый параметр, который я нашел для отключения 51Degrees, является статическим. Это затрудняет его отключение для подмножества пользователей.

Одно полу-решение, которое я должен был установить firstRequestOnly="true" и отмените перенаправление, если это не должно было произойти. Хотя firstRequestOnly="true" вызвал ряд других головных болей (не связанных), поэтому я хотел бы сохранить его на firstRequestOnly="false" и просто включить / отключить перенаправление на основе значения сеанса для запроса или для пользователя. Проблема в том, что я не могу придумать, как это сделать.

2 ответа

Решение

Установите cookie в событии prerender страницы на основе настроек, выбранных вашим пользователем в своем профиле. Вам нужно было бы установить firstRequestOnly в значение true. Если пользователь не хочет перенаправления, у него должно быть очень долгое время истечения, если он это делает, установите короткое время истечения.

В итоге я просто скачал исходный код и добавил опцию отказа от перенаправления, если определенное поле сеанса присутствовало и было установлено значение true. Это позволило мне установить это значение сеанса из моего кода в зависимости от того, что пользователь настроил в разделе настроек. Не лучшее решение, так как в будущем будет сложнее обновить 51Degrees, но оно работает.

Другие вопросы по тегам