2015-05-14 8 views
10

Ich habe eine Multi-Tenant-Anwendung, die in der Produktion als customer.ourdomain.com zugegriffen wird. Für die lokale Entwicklung mit IIS verwenden wir eine benutzerdefinierte Platzhalterdomäne, company-localdev.com.Wildcard-Hostname in IIS Express + VS 2015

Mit IIS funktioniert dies ohne eine bestimmte Konfiguration. IIS Express dagegen bindet nur an localhost.

Wir haben ein laufendes Migrationsprojekt zu ASP.NET 5, und wir möchten IIS Express für eine einfachere Entwicklererfahrung verwenden.

Ist es möglich, IIS Express auf *.company-localdev.com:1234 zu hören? Bonuspunkte, wenn dies automatisiert werden kann, damit ein Entwickler die Lösung einfach in IIS öffnen kann.

Antwort

6

Havent versuchte es mit vs2015 aber das funktioniert mit iis ausdrücken in vs 2012

zu Ihren Dokumenten-Ordner gehen. Öffnen Sie IISExpress/config.applicationhost.config.

Suchen Sie nach dem XML-Tag "Websites" und finden Sie Ihre Website.

<bindings> 
    <binding protocol="http" bindingInformation="*:1234:company-localdev.com" /> 
</bindings> 

Debugging funktioniert nur für mich, wenn ich Visual Studio als Administrator ausführen: Sie können Ihre Website-Bindungen von hier wie so modifizieren.

+0

"Run as Administrator" hat mich gerade jetzt. Ich habe eine neue Systeminstallation durchgeführt und vergessen, dass ich meine Visual Studio-Verknüpfungen so eingerichtet habe, dass sie im Administratormodus ausgeführt werden. Dachte, es war ein neues Problem in VS2015 RC! – jklemmack

16

In ASP.NET 5/vNext wird die Konfigurationsdatei in

~ProjectFolder~/.vs/config/applicationhost.config 

Von dort gefunden haben, können Sie neue Bindungen hinzufügen, wie rdans erklärt.

5

Ok, ich habe es auf meinem lokalen Rechner arbeiten, hier sind alle Schritte, die ich nehmen musste:

  1. Zum {YourProjectFolder}\.vs\config und bearbeiten Sie die applicationhost.config Datei:

    <site name="MySite" id="2"> 
         <application path="/" applicationPool="Clr4IntegratedAppPool"> 
          <virtualDirectory path="/" physicalPath="{MyProjectFolderPath}" /> 
         </application> 
         <bindings> 
          <binding protocol="http" bindingInformation="*:49861:localhost" /> 
          <binding protocol="http" bindingInformation="*:80:example.com" /> 
          <!-- for subdomain testing only --> 
          <binding protocol="http" bindingInformation="*:80:sub1.example.com" /> 
          <binding protocol="http" bindingInformation="*:80:sub2.example.com" /> 
         </bindings> 
        </site> 
    
  2. Führen Sie den Editor als Administrator aus, und gehen Sie zu C:\Windows\System32\drivers\etc, um die Hosts-Datei zu öffnen und sie wie folgt zu ändern:

    127.0.0.1 example.com
    127.0.0.1 sub1.example.com
    127.0.0.1 sub2.example.com

  3. die URL Reservierung hinzufügen von cmd.exe als Administrator und die Eingabe in der netsh http Aufforderung (um die netsh http> Aufforderung müssen Sie netsh gefolgt von Enter eingeben, dann http gefolgt von Enter):

    add urlacl url=http://example.com:80/ user=everyone

    add urlacl url=http://sub1.example.com:80/ user=everyone

    add urlacl url=http://sub2.example.com:80/ user=everyone

Beachten Sie, dass das Schlüsselwort everyone hängt von der Sprache Ihrer Windows-Betriebssystem.Auf einem französischen Betriebssystem, user=everyone soll durch user="Tout le monde" ersetzt werden, auf einem deutschen OS sollte es user=jeder sein, in Spanisch user=todos etc ... Sie erhalten die Idee.

  1. Dann, nach, dass Sie sollten das Debuggen beginnen können und auf die Domain, die Sie Setup navigieren Ihre Website zu sehen.

Hoffe, das hilft.