IIS Express und Visual Studio – Externen Zugriff erlauben

hierGelegentlich kann es nützlich sein, einen Kollegen auf seinen lokalen IIS-Express zu lassen, während die WebApp im Debug läuft – oder man will sich einfach mal mit einem mobilen Device anschauen, ob das ganze Projekt auch noch auf einem kleinen Display gut aussieht und mit Touch auch wirklich so läuft, wie man sich das gedacht hat…

Über die Einstellungen in Visual Studio kann man das nicht konfigurieren und auch in der UI des IIS-Express wurde ich nicht fündig.

Nachdem ich Bing bemüht habe, klappt es dann doch relativ simpel!

Ich setze voraus, dass die WebApplication bereits über den IISExpress genutzt wird (Project-Settings -> Web -> „Use Local IIS Web Server“). Die Project Url in meinem Fall lautet „http://localhost:7000/digoso-web“

Zunächst einmal muss die Kommandozeile mit Admin-Rechten gestartet werden, um Konfigurationen über die NetworkShell auszuführen:

netsh http add urlacl url=http://*:7000/ user=Everyone

Damit ebnen wir den Weg für den Zugriff von extern auf unseren IIS (Info zu add urlacl)

Im nächsten Schritt müssen wir manuell in die Konfigurationsdatein ‚applicationhost.config‘ eingreifen. Das Config-File findet sich in aller Regel im Verzeichnis

%HomeDrive%\Documents\IISExpress\config

Im Node „sites“ sollte ein Site-Child liegen, dem als Name -Attribut der Name des Projekts zugewiesen ist. Dieser Node muss editiert werden!

Unter dem Bindings-Node findet man die Information, wie auf die URL zugegriffen werden darf.

<binding protocol=http bindingInformation=*:7000:localhost />

Die Standard-Einstellung stellt sicher, dass nur von localhost der Aufruf erlaubt ist.

Ersetzt man nun ‚localhost‘ gegen den Namen des Computers (z.B. digoso-pc)

<binding protocol=http bindingInformation=*:7000:digoso-pc />

kann man auf den IIS via „http://digoso-pc:7000/digoso-web&#8220; zugreifen und man muss (leider) die Start-Url des IIS so umbiegen, dass sie den Namen des Computers enthält – was allerdings unschön ist, wenn man im Team arbeitet und jeder Computer anders heißt…

Trägt man statt dem PC-Namen einfach ein * ein, kann jeder im Netzwerk auf den IIS mit der URL zugreifen und es müssen keine Änderungen an der Startseite gemacht werden.

<site name="digoso.WebApplication-Site" id="1">
    <application 
        path="/" 
        applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory 
            path="/" 
            physicalPath="\\...\My Web Sites\digoso.WebApplication-Site1" />
    </application>
    <application 
        path="/digoso-web" applicationPool="Clr4IntegratedAppPool">
    <virtualDirectory path="/" 
        physicalPath="......\digoso.WebApplication" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:7000:*" />
    </bindings>
</site>

 

Advertisements

Windows PC als WLAN-Hotspot freigeben – Virtual WiFi (ab Windows 7)

Ein nützliches aber verstecktes Feature, das Microsoft seinem Betriebssystem ab Windows 7 spendiert ist, dass man einen PC als WLAN-Hotspot einrichten kann. Das kann dann nützlich sein, wenn man z.B. nur ein kabelgebundenes Netzwerk zur Verfügung hat, und sein Windows Phone per WLAN nicht an die Leitung bekommt.

Leider ist diese nützliche Funktion so in den Tiefen versteckt, dass es dafür keine Benutzeroberfläche gibt und man sich – zu ModernUI-Zeiten – mit der Konsole begnügen muss.

Um Virtual WiFi – oder kurz VWifi – zu aktivieren, muss also die Konsole gestartet werden – aber bitte als Administrator, sonst wird der Versuch mit der Meldung quittiert, dass man eben dieser sein muss und die Konsole auch bitte mit den entsprechenden Rechten gestartet werden soll.

So schaltet man VWifi ein:

  • Wechseln in das Verzeichnis c:\windows\system32
  • Eingabe: netsh [Enter]
  • Eingabe: wlan set hostednetwork mode=allow ssid=MEINE_SSID key=MeinWpaKey [ENTER]
  • Meldung, dass das gehostete Netzwerk zugelassen wird, erscheint zusammen mit der Meldung, dass die SSID und der Key geändert wurden
  • Eingabe: wlan start hostednetwork [ENTER]
  • Meldung: Das gehostete Netzwerk wurde gestartet
  • Das Netzwerk sollte jetzt bei der Suche nach einem neuen WLAN zu finden sein.

Um das Netzwerk wieder zu deaktivieren, muss der Befehl wlan stop hostednetwork eingegebenen und mit [ENTER] bestätigt werden. Die Meldung „Das gehosteted Netzwerk wurde beendet“ erscheint.

Viel Spaß damit

Einrichten eines Loopback-Adapters für eine virtuelle Maschine

Hosts – Einträge:

-> C:WINDOWSsystem32driversetchosts

127.0.0.1 localhost
192.168.199.101 ws2003vdev
192.168.199.101 WebApp0.ws2003vdev
192.168.199.101 WebApp1.ws2003vdev

Umgehung

…von Proxy für *ws2003vdev eintragen

Netzwerkverbindugen

Manuelle Installation

Gehen Sie folgendermaßen vor, um den Microsoft Loopbackadapter in Windows XP manuell zu installieren:

  1. Klicken Sie auf Start und anschließend auf Systemsteuerung.
  2. In der klassischen Ansicht klicken Sie im linken Fensterbereich der Systemsteuerung auf Zur Kategorieansicht wechseln.
  3. Doppelklicken Sie auf Drucker und andere Hardware, und klicken Sie anschließend auf Weiter.
  4. Klicken Sie im linken Fensterbereich unter Siehe auch auf Hardware, und klicken Sie anschließend auf Weiter.
  5. Klicken Sie auf Ja, die Hardware wurde bereits angeschlossen und dann auf Weiter.
  6. Klicken Sie am Ende der Liste auf Neue Hardware hinzufügen. Klicken Sie dann auf Weiter.
  7. Klicken Sie auf Hardware manuell aus einer Liste wählen und installieren (für fortgeschrittene Benutzer) und anschließend auf Weiter.
  8. Klicken Sie auf Netzwerkadapter, und klicken Sie anschließend auf Weiter.
  9. Klicken Sie im Feld Hersteller auf Microsoft.
  10. Klicken Sie im Feld Netzwerkadapter auf Microsoft Loopbackadapter, und klicken Sie auf Weiter.

clip_image003

  1. Klicken Sie auf Fertig stellen.

Einstellungen für LoopbackAdapter

clip_image007

Netzwerkkarte für VPC auf den Loopback-Adapter einstellen

clip_image010

Die Netzwerkeinstellungen im VPC :

IP-Adresse ins Netz des Loopback-Adapters -> 192.168.199.101

DefaultGateway und DNS Server = IP des Loopbacks -> 192.168.199.1

Mal was neues: XSLT – Alle Umlaute ersetzen

Zugegeben, XSLT ist für mich absolutes Neuland und ich muss
mir noch massig an Erfahrung aufbauen um das zu realisieren, was ich
realisieren möchte. Trotzdem, und vor allem dazu, dass ich es nicht vergesse,
hier ein kleiner Code-Schnipsel der dazu dient alle Umlaute und das „ß“
aus einem String zu ersetzen:

 

  <xsl:template name="String-Replace-Umlauts"> 

    <xsl:param name="stringValue"></xsl:param>   

    <xsl:call-template name="String-Replace">

      <xsl:with-param name="stringIn">

        <xsl:call-template name="String-Replace">

          <xsl:with-param name="stringIn"> 

            <xsl:call-template name="String-Replace">

             
<
xsl:with-param name="stringIn">

               
<
xsl:call-template name="String-Replace">

                 
<
xsl:with-param name="stringIn"> 

                   
<
xsl:call-template name="String-Replace">

                     
<
xsl:with-param name="stringIn"> 

                       
<
xsl:call-template name="String-Replace">

                          <xsl:with-param name="stringIn" select="string($stringValue)"/>

                         
<
xsl:with-param name="charsIn" select="‚ä‘"/>

                         
<
xsl:with-param name="charsOut" select="‚ae‘"/>

                       
</
xsl:call-template

                     
</
xsl:with-param>

                     
<
xsl:with-param name="charsIn" select="‚ö‘"/>

                     
<
xsl:with-param name="charsOut" select="‚oe‘"/>

                   
</
xsl:call-template

                 
</
xsl:with-param>

                 
<
xsl:with-param name="charsIn" select="‚ü‘"/>

                 
<
xsl:with-param name="charsOut" select="‚ue‘"/>

               
</
xsl:call-template

             
</
xsl:with-param>

             
<
xsl:with-param name="charsIn" select="‚Ä‘"/>

             
<
xsl:with-param name="charsOut" select="‚Ae‘"/>

            </xsl:call-template

          </xsl:with-param>

          <xsl:with-param name="charsIn" select="‚Ö‘"/>

          <xsl:with-param name="charsOut" select="‚Oe‘"/> 

        </xsl:call-template

      </xsl:with-param>

      <xsl:with-param name="charsIn" select="‚Ü‘"/>

      <xsl:with-param name="charsOut" select="‚Ue‘"/>

    </xsl:call-template>   

  </xsl:template>

  <!– Ersetzt im string stringIn alle
Zeichen charsIn gegen charsOut –>

  <xsl:template name="String-Replace">

    <xsl:param name="stringIn"/>

    <xsl:param name="charsIn"/>

    <xsl:param name="charsOut"/>

    <xsl:choose>

      <xsl:when test="contains($stringIn,$charsIn)">

        <xsl:value-of select="concat(substring-before($stringIn,$charsIn),$charsOut)"/>

        <xsl:call-template name="String-Replace">

          <xsl:with-param name="stringIn" select="substring-after($stringIn,$charsIn)"/>

          <xsl:with-param name="charsIn" select="$charsIn"/>

          <xsl:with-param name="charsOut" select="$charsOut"/>

        </xsl:call-template>

      </xsl:when>

      <xsl:otherwise>

        <xsl:value-of select="$stringIn"/>

      </xsl:otherwise>

    </xsl:choose>

  </xsl:template>

SQL-Server Management Studio 2k5 und Vista

Nachdem man viel gehört hat von Vista und wie man was warum zu installieren hat und alles über msi-Files oder ähnliches läuft scheint man gelegentlich immer noch gegen die Wand zu rennen.
So geschehen bei dem Versuch das SLQ-Server Express Managementstudio zu installieren. Die Installation läuft ganz gut an und macht brav was sie soll – sollte man meinen. Kurz bevor der Vorgang abgeschlossen ist, werden wir mit einer netten Fehlermeldung darauf aufmerksam gemacht, dass das Installationspaket evtl. kaputt sein könnte:

Bei der Installation dieses Pakets ist ein unerwarteter
Fehler aufgetreten. Es liegt eventuell ein das Paket betreffendes
Problem vor. Der Fehlercode ist 29506.

Weit gefehlt. Das Problem liegt nicht etwa im Installer-Paket, vielmeht an dem Paket was schon auf dem Rechner läuft – Vista 😉  Security hin oder her, Lösung des Problems ist: Console als Admin ausführen, sich zum Pfad des Installationspakets hangeln und einfach ausführen – Fertig!