web-dev-qa-db-fra.com

Liaison IIS Express vers une adresse IP

Est-il possible d'utiliser IIS Express pour héberger des pages sur un réseau. Hors de la boîte, il peut faire localhost mais j'essaie de le lier à une adresse IP.

103
jdiaz

Je pense que tu peux.

Pour ce faire, vous devez éditer applicationhost.config fichier manuellement (éditez bindingInformation '<ip-address>:<port>:<Host-name> ')

Pour démarrer iisexpress, vous devez disposer de privilèges d'administrateur.

104
vikomall

Pour IIS Réponse rapide à n’importe quelle adresse IP, laissez simplement l’adresse vide, c.-à-d.:

bindingInformation=":8080:"

N'oubliez pas de redémarrer le IIS express avant que les modifications puissent avoir lieu.

86
Anthony Ludmilin

Comme mentionné ci-dessus, modifiez l'application Host.config. Pour y parvenir facilement, exécutez votre site dans VS à l’aide de IIS Express. Cliquez avec le bouton droit de la souris sur l’icône de la barre des tâches, affichez toutes les applications. Choisissez votre site, puis cliquez sur le lien config situé en bas. ouvrez-le.

Je suggérerais d'ajouter une autre entrée de liaison et de laisser celle de localhost initiale. Cette liaison supplémentaire apparaîtra dans IIS Express systray en tant qu’application distincte sous le site.

Pour éviter d’avoir à exécuter VS en tant qu’administrateur (bon nombre de bonnes raisons de ne pas s’exécuter en tant qu’administrateur), ajoutez une règle netsh comme suit (en remplaçant évidemment l’IP et le port par vos valeurs) - vous aurez besoin d’un cmd.exe d’admin pour cela, il ne doit être exécuté qu'une seule fois:

netsh http add urlacl url=http://192.168.1.121:51652/ user=\Everyone

netsh peut ajouter des règles telles que url = http: // +: 51652 / mais je n’ai pas réussi à le placer correctement avec IIS Express. Vous pouvez utiliser netsh http show urlacl pour lister les règles existantes, et elles peuvent être supprimées avec netsh http delete urlacl url=blah.

Informations complémentaires: http://msdn.Microsoft.com/en-us/library/ms733768.aspx

32
Dave Glassborow

Vous trouverez ci-dessous les modifications complètes que je devais apporter pour exécuter mon application x64 IIS utilisant IIS Express), de sorte qu'elle était accessible à un hôte distant:

iisexpress /config:"C:\Users\test-user\Documents\IISExpress\config\applicationhost.config" /site:MyWebSite
Starting IIS Express ...
Successfully registered URL "http://192.168.2.133:8080/" for site "MyWebSite" application "/"
Registration completed for site "MyWebSite"
IIS Express is running.
Enter 'Q' to stop IIS Express

Le fichier de configuration (applicationhost.config) avait une section ajoutée comme suit:

<sites>
  <site name="MyWebsite" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
      <virtualDirectory path="/" physicalPath="C:\build\trunk\MyWebsite" />
    </application>
    <bindings>
      <binding protocol="http" bindingInformation=":8080:192.168.2.133" />
    </bindings>
  </site>

La version 64 bits du framework .NET peut être activée comme suit:

<globalModules>
    <!--
        <add name="ManagedEngine" image="%windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness32" />
        <add name="ManagedEngineV4.0_32bit" image="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
    -->             
    <add name="ManagedEngine64" image="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />
11
Thomas Bratt

Changement bindingInformation=":8080:"

Et n'oubliez pas de désactiver le pare-feu pour IISExpress

8
Ha Doan