Из кода asp.net (aspx.cs) на сервере, как я могу определить, установлен ли Silverlight на клиенте? - PullRequest
0 голосов
/ 26 февраля 2010

IIS 6.0 хостинг ASP.NET 3.5. Исходя из кода aspx Visual Studio 2008 (aspx.cs), работающего на сервере, мне нужно определить, установлен ли Silverlight на клиенте и, если да, то какая версия.

Я знаю из Java на клиенте, что это можно сделать. Это не то, что мне нужно.

Я знаю, что могу добавить элемент управления, который будет визуализироваться, если установлен Silverlight. Это не то, что мне нужно.

Ответы [ 3 ]

2 голосов
/ 26 февраля 2010

Кажется, что Silverlight не добавляет никакой информации в строку user-agent, которая отправляется на сервер при каждом запросе (браузером). Так что, вероятно, будет невозможно обнаружить Silverlight на стороне сервера.

Это означает, что вам придется обнаруживать его на стороне клиента (используя javascript), например, используя silverlight.js .

0 голосов
/ 26 февраля 2010

Наличие подключаемого модуля Silverlight и версии не отправляется в заголовках запросов на ваш сервер. Неважно, какую технологию веб-сервера вы используете.

Единственный способ сделать это - включить JavaScript или Silverlight на страницу, которая отправляется обратно на ваш сервер.

Почему вы чувствуете, что не можете использовать эти техники?

0 голосов
/ 26 февраля 2010

Единственный способ узнать, есть ли у клиента что-то на клиенте. Сервер действительно не знает (и не должен) ничего не знать о клиентах.

Вы можете выполнить Javascript на клиенте и отправить результат на сервер с помощью ajax, если вам нужно.

...