2010-03-22 4 views
5

Pendant le développement, je teste en général les applications ASP.Net en utilisant le serveur de développement Web (parfois appelé Cassini). Parfois, lorsque je publie dans un environnement IIS réel, je remarque que l'application se comporte différemment. Alors, quelles sont les différences entre le comportement des serveurs IIS de production et le serveur de développement Web ASP.Net? Je ne veux pas dire des différences dans les ensembles de fonctionnalités (clairement IIS a beaucoup de fonctionnalités qui ne sont pas présentes dans WDS), mais des différences dans la façon dont ils traitent ASP.Net. BTW: Il ya quelques différences notées dans les réponses à this question, mais je suis sûr qu'il doit y en avoir plus.Différences de comportement entre IIS et le serveur de développement Web ASP.Net?

+0

Il y a beaucoup de questions similaires (voir la liste sur le côté droit), par exemple: http://stackoverflow.com/ questions/1988022/comment-voulez-vous-comparer-iis-cassini-comme-serveurs de production – M4N

+0

En effet - et j'ai lié à l'un des plus utiles dans ma question. Néanmoins, je cherche une réponse plus complète que celle que j'ai trouvée ailleurs. – Kramii

+0

Ce ne devrait pas être un wiki communautaire? –

Répondre

0

Certaines différences pourraient être:

  • Vous ne pouvez pas utiliser des répertoires virtuels tout en travaillant avec Cassini. Cela peut entraîner un comportement inattendu lors du premier déploiement, en raison d'autorisations de dossier manquantes. (Par exemple, vous avez un répertoire/image/sur votre machine locale, mais dans l'IIS/image/est le répertoire virtuel pointant elsehwere)
  • Certains assemblys tiers (comme ComponenArt Web DLL) provoquent des problèmes avec des problèmes de ports spécifiques. Il est préférable de développer avec l'IIS pour minimiser les problèmes de compatibilité lors du déploiement.
  • Le trustlevel de la cible IIS pourrait être inférieur que vos paramètres de développement, cela pourrait entraîner des dysfonctionnements, en fonction de ce que vous faites avec le IIS, comme la lecture du Uptime.
+2

Votre dernier point est un peu d'un rouge-hareng. Le niveau de confiance que vous utilisiez Cassini ou IIS sur la même machine sera toujours le même. Lorsque vous déployez en production, il importe peu que vous ayez développé votre application sur Cassini ou IIS, car le niveau de confiance n'est pas contrôlé par le serveur. – Kev

+0

Merci de mentionner – citronas

+0

désolé citronas - vous vous trompez sur le point 1,/v: "/" est la valeur par défaut, mais vous pouvez spécifier la profondeur de vdir que vous aimez, à la fois de la page de propriétés web et de la ligne de commande. Le point 2 n'a pas vraiment de sens. 'certaines personnes disent'. Et le numéro 3 a déjà été couvert. Je n'ai pas d'autre choix que de -. À votre santé. –

4

Certaines choses que je ramasse here et ailleurs:

  • Le contexte de sécurité dans lequel les serveurs respectifs exécuter des applications ASP.NET est différent. Pour le serveur Dev, il s'agit du compte de l'utilisateur actuel. Pour IIS, il s'agit du contexte de l'utilisateur spécial (ASPNET ou NETWORK SERVICES) qui dispose généralement de privilèges limités. Pour un site Web, le serveur de développement soumet les fichiers statiques (images et feuilles de style, etc.) à l'autorisation ASP.NET. Toutefois, IIS sert des fichiers statiques sans utiliser de règles d'autorisation. Le serveur de développement ne prend pas en charge le protocole SMTP. Vous ne pouvez donc pas envoyer d'e-mails directement à partir de ce serveur.

  • Le serveur de développement ne prend pas en charge le protocole HTTPS.

  • Il existe une différence dans la façon dont les deux serveurs gèrent les chemins qui contiennent "//". Le serveur Dev serait plus tolérant.

  • Le serveur Dev port choisi au hasard plutôt que le port HTTP standard 80.

Questions connexes