Willkommen in meinem Blog

In diesem Blog findest du allerlei kunterbuntes, was mir im Alltag über den Weg läuft, geschäftlich oder privat. Diese Seite dient zudem auch als Testseite für verschiedene Programmiersachen. Es kann also gut sein, dass das eine ode andere mal nicht funktioniert.

Ich wünsche euch alle viel Spass beim durchstöbern!

Veröffentlicht in Allgemein

Geschützt: Songliste 2015

Dieser Inhalt ist passwortgeschützt. Um ihn anzuschauen, gib dein Passwort bitte unten ein:

Veröffentlicht in Allgemein

IIS (ab 7.0) Konfiguration für 32bit ISAPI.dll

Infolge einer Server-Konsolidierung sollten unsere mit Morfik erstellten Apache Module auf einen IIS 7.5 umziehen. Der erste Schritt war natürlich, die entsprechenden Module in Morfik als IIS-Plugins (ISAPI.DLL) zu kompilieren. Das war ja einfach. Jetzt sollten diese Module auf einem IIS 64bit installiert werden. Da sich diese Module auch um das Hinaufladen von grossen Dateien kümmern, waren da einige Kniffe notwendig.

Um eine 32bit ISAP.dll auf einem IIS zum Laufen zu kriegen, sind folgende Schritte notwendig:

  1. Konfiguration des IIS für das Hinaufladen von grossen Dateien
  2. Registrieren der ISAPI.DLL
  3. Einrichten eines Anwendungs-Pool
  4. Anlegen einer Anwendung

 

1. Konfiguration des IIS für das Hinaufladen von grossen Dateien

Das Editieren dieser Werte geht am besten mit dem Konfigurations-Editor im IIS-Manager:

  1. Öffnen des Konfigurations-Editors

IIS-Editor

2. Einstellen des Werts (Übernehmen drücken, um Werte zu übernehmen)

IIS-Editor2

Damit der IIS grosse Dateien hinaufladen kann, müssen folgende Parameter angepasst werden (Quelle):

parameter value
property maxRequestLength
levels/objects configuration/system.web/httpRuntime
data type Int32
description maximum allowed number of kilobytes of the entity body of an ASP.NET request
presence – default not present by default
minimum 0 (not very useful…)
maximum
  • for ASP.NET 1.0-1.1: 1048576 (1 GiB)
  • for ASP.NET 2.0-4.0: 2097151 (2147482624 bytes, almost 2 GiB)
  • for ASP.NET 4.5(.x): 2147483647 (2 TiB), but only when the application pool’s managed pipeline mode is “Classic”; when that mode is “Integrated” the older limit of 2097151 still counts
default values 4096 (4 MiB)
remarks optional, meaning it shouldn’t be set explicitly, so there is an implicit default
parameter value
property maxRequestEntityAllowed
levels/objects configuration/system.webServer/serverRuntime
data type uint
description maximum allowed number of bytes of the entity body of any request; enforced by the core of IIS
presence – default not present by default
minimum 0 (not very useful…)
maximum 4294967295 (unlimited)
default values 4294967295 (unlimited)
remarks optional, meaning it shouldn’t be set explicitly, so there is an implicit default

 

parameter value
property maxAllowedContentLength
levels/objects configuration/system.webserver/security/requestFiltering/requestLimits
data type uint
description maximum allowed number of bytes of the entity body of any request; enforced by the Request Filtering module of IIS, which is installed by default, but can be uninstalled
presence – default not present by default
minimum 0 (unlimited, so the minimum limited value is 1)
maximum 4294967295 (4 GiB – 1 byte)
default values 30000000 (approximately 28,6 MiB)
remarks optional, meaning it shouldn’t be set explicitly, so there is an implicit default
parameter value
property maxRequestEntityAllowed
levels/objects configuration/system.webServer/asp/limits
data type uint
description maximum allowed number of bytes of the entity body of an ASP request
presence – default not present by default
minimum 0 (not very useful…)
maximum 2147483647 (2 GiB – 1 byte)
default values 200000 (almost 200 KiB)
remarks optional, meaning it shouldn’t be set explicitly, so there is an implicit default
parameter value
property uploadReadAheadSize
levels/objects configuration/system.webServer/serverRuntime
data type uint
description size (in bytes) of the buffer between IIS and ISAPI extensions/filters
presence – default not present by default
minimum 0 (meaning no buffer is used)
maximum 2147483647 (almost 2 GiB) Bei mir reicht 512000 (ca. 500 MB)
default values 49152 (48 KiB)
remarks optional, meaning it shouldn’t be set explicitly, so there is an implicit default

2. Registrieren der ISAPI.DLL

Damit die ISAPI.DLL vom IIS zum Ausführen akzeptiert wird, muss Sie in einer Liste der akzeptierten Erweiterungen eingetragen werden:

  1. Öffne „ISAPI- und CGI-Einschränkungen“

2. Isapi.DLL hinzufügen

ISAPI-Einschraenkungen2

3. Einrichten eines Anwendungs-Pool

Nun richten wir einen Anwendugs-Pool ein. In diesem Fall für 32bit ISAPI-DLL’s:

Anwendugspool

In den erweiterten Einstellungen:

Anwendugspool2

Für 64bit ISAPI.dll kann der Wert auf false belassen werden.

In anderen Blogs habe ich gelesen, dass man da einen anderen User eintragen soll. Bei funktionierts tiptop mit der Standardeinstellung „ApplicationPoolIdentity“

Falls der Anwendungspool noch nicht gestartet ist, dann kannst du ihn manuell starten.

4. Anlegen einer Anwendung

Klicke mit der rechtenMaustaste im IIS-Manager auf eine Website und wähle im Menü „Anwendung hinzufügen“

Anwendung

  1. Gib einen Alias ein (in diesem Beispiel „test“)
  2. Wähle den vorher erstellten Anwendungs-Pool
  3. Setzte den physischen Pfad zu dem Verzeichnis, wo die DLL liegt.
  4. „Verbinden als..“: Falls deine ISAPI.dll auf „externe“ Verzeichnisse und Ressourcen zugreifen muss, solltest du hier einen Benutzer wählen, der über die entsprechenden Rechte verfügt.

Nun müssen wir noch zulassen, dass die Anwendung Dll’s ausführen darf.

1. Handlerzuordnung öffnen

Handlerzuordnung

2. Featureberechtigung bearbeiten..

Features

WICHTIG: Das Häckchen „Ausführen“ muss gesetzt sein.

 

Voilà, das wars. Nun müsste das eigentlich klappen.

Im Browser sollte nun deine Anwendung unter http://DeineWebsite/Anwendung/DeineDLL.DLL starten.

 

 

 

 

 

Veröffentlicht in IT-Stuff Getagged mit: , , ,

Neueste Kommentare

Kategorien