2010-02-25 3 views
0

Hébergement IIS 6.0 ASP.NET 3.5. À partir du code ASPX de Visual Studio 2008 (aspx.cs) exécuté sur le serveur, j'ai besoin de déterminer si Silverlight est installé sur le client et si oui quelle version.À partir du code asp.net derrière (aspx.cs) sur le serveur, comment puis-je déterminer si Silverlight est installé sur le client?

Je sais de Java sur le client cela peut être fait. Ce n'est pas ce dont j'ai besoin.

Je sais que je peux mettre dans un contrôle qui rendra si Silverlight est installé. Ce n'est pas ce dont j'ai besoin.

Répondre

0

La seule façon de savoir si un client a quelque chose est sur le client. Le serveur ne sait pas (et ne doit pas nécessairement) ne rien savoir des clients.

Vous pouvez exécuter le Javascript sur le client et envoyer le résultat au serveur avec ajax si vous avez besoin.

+0

Le serveur a besoin de connaître les capacités du client. Actuellement, dans la requête HTTP, il y a beaucoup d'informations telles que le navigateur et la version, les cookies activés, ... Malheureusement les informations Silverlight ne sont pas dans la requête. Mais je ne pense pas que Splash soit dans la demande non plus. Merci, je peux aller avec vous suggestion AJAX. – Monte

0

L'existence du plug-in Silverlight et de la version n'est pas envoyée dans les en-têtes de demande à votre serveur. Peu importe la technologie de serveur Web que vous utilisez. La seule façon de le faire est d'avoir du JavaScript ou de Silverlight sur la page qui est postée sur votre serveur. Pourquoi pensez-vous que vous ne pouvez pas utiliser une de ces techniques?

+0

Idéalement, j'aimerais savoir si Silverlight est installé dans l'événement Page_Load. Puisque cette information n'est pas dans la demande, cela ne va pas arriver. Je pense que je vais utiliser JavaScript activer certains contrôles ou désactiver. Donc oui je pense que je peux utiliser certaines de ces techniques. Je vous remercie. – Monte

2

Il semble que Silverlight n'ajoute aucune information à la chaîne d'agent utilisateur envoyée au serveur à chaque requête (par le navigateur). Il ne sera donc probablement pas possible de détecter Silverlight côté serveur. Cela signifie que vous devrez le détecter du côté client (en utilisant javascript), par exemple. en utilisant silverlight.js.

Questions connexes