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.
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.
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.
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
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" />
Changement bindingInformation=":8080:"
Et n'oubliez pas de désactiver le pare-feu pour IISExpress