Viele Web Entwickler, die Enterprise Anwendungen erzeugen kennen dieses Problem:
Mit den normalen HTML Elementen ist es manchmal einfach nicht möglich das User Interface des Business Prozesses komplett darzustellen.
Abhilfe schafften hier zwei Technologien zweier verfeindeter Welten: Einmal die ActiveX Controls auf der MS Seite und dann die Java Applets auf der Sun Seite.
Das Problem bei diesen beiden Technologien ist, dass in einer Firma kaum nachvollziehbar ist, was in diesen beiden Controls eigentlich passiert. (Security, Security, Security)
In .NET und dem dazugehörigen Security System sieht die Sache nun etwas anders aus. Durch die Runtime Policies haben die Administratoren die Möglichkeit Anwendungen die Controls auf den Client herunterladen in ihrer Freiheit extrem einzuschränken.
Mit einem Windows Forms Control haben wir die Möglichkeit komplexe User Interfaces zu erzeugen, in unserem Beispiel habe ich ein Control welches 3D Funktionalität der GDI+ Klassen demonstriert.
Solche Controls lassen sich recht einfach auch in ASP .net Anwendungen einsetzen und damit Intranet Applikationen um ein vielfaches an Funktionalität erweitern.
Vorraussetzungen:
- Funktioniert nur im Internet Explorer
- Um diese Funktionalität auch auf den Clients im lokalen Netzwerk nutzen zu können muss auf diesen Clients das .NET Framework installiert sein.
- Die Sicherheitsrichtlinie der Clients muss geändert werden:
- Der Webserver muss zu den Trusted Sites hinzugefügt werden.
- In der Management Console zum .NET Framework muss die Runtime Policies der Clients im Punkt Trusted Sites auf Full Trust gestellt werden, damit die einzelnen Clients auch das Control herunterladen und ausführen können
Implementierung:
- Kopieren sie das UserControl Assembly (Drawing_Control.dll) in das virtuelle Verzeichnis Ihrer ASP .net Anwendung
- In einer ASP .net Seite legen Sie im User Interface einen Object Tag an und referenzieren die Komponente über das classid Attribut.
classid="
http://server/WebApp/Drawing_Control.dll#Drawing_Control.DrawingControl"
- Starten Sie die ASP .net Seite