Hallo zusammen
Damit meine ich bspw. sowas:
Es gibt ein paar Kriterien für .NET-Assemblies/Objekte:
Compiler:
- "Register for COM Interop" muss bei den Projekt-Build-Settings eingeschaltet sein
- ComVisible in der AssemblyInfo.cs muss auf "true" sein. -> [assembly: ComVisible(true)]
OO-technisch:
- Die Klasse muss einen Default-Konstruktor (zusätzlich dürfen aber Konstuktoren mit Argumenten vorhanden sein - diese kann man einfach nicht ansprechen in VBScript / ASP) und die Sichtbarkeitsstufe "public" haben, andernfalls kann man die Klasse nicht mit CreateObject(...) laden, völlig unmöglich.
-> Dieser Konstruktor muss auch die Sichtbarkeitsstufe "public" haben!! (Also bspw. kein Singleton-Pattern oder Factory-Methode mit priv. Konstruktor!)
- Die Klasse muss eine "richtige Klasse" sein -> Kein Enum, Interface, abstrakte Klasse usw.
Was haltet ihr von diesem Ansatz? Selbstprogrammierte Assemblies haben oft Sicherheitsprobleme, da muss man bei den IIS-Einstellungen noch was anpassen. Aber die Assemblies auf dem System.Collections-Packet kann man meist problemlos verwenden, wie oben in meinen Beispiel demonstriert...
VBScript/ASP ist für mich als Java-Programmierer (Job-mässig war der letzte Stand Java 1.6) manchmal eine Qual, ehrlich gesagt. Zwar extrem einfach, aber auch extrem eingeschränkt...
Damit meine ich bspw. sowas:
Es gibt ein paar Kriterien für .NET-Assemblies/Objekte:
Compiler:
- "Register for COM Interop" muss bei den Projekt-Build-Settings eingeschaltet sein
- ComVisible in der AssemblyInfo.cs muss auf "true" sein. -> [assembly: ComVisible(true)]
OO-technisch:
- Die Klasse muss einen Default-Konstruktor (zusätzlich dürfen aber Konstuktoren mit Argumenten vorhanden sein - diese kann man einfach nicht ansprechen in VBScript / ASP) und die Sichtbarkeitsstufe "public" haben, andernfalls kann man die Klasse nicht mit CreateObject(...) laden, völlig unmöglich.
-> Dieser Konstruktor muss auch die Sichtbarkeitsstufe "public" haben!! (Also bspw. kein Singleton-Pattern oder Factory-Methode mit priv. Konstruktor!)
- Die Klasse muss eine "richtige Klasse" sein -> Kein Enum, Interface, abstrakte Klasse usw.
Was haltet ihr von diesem Ansatz? Selbstprogrammierte Assemblies haben oft Sicherheitsprobleme, da muss man bei den IIS-Einstellungen noch was anpassen. Aber die Assemblies auf dem System.Collections-Packet kann man meist problemlos verwenden, wie oben in meinen Beispiel demonstriert...
VBScript/ASP ist für mich als Java-Programmierer (Job-mässig war der letzte Stand Java 1.6) manchmal eine Qual, ehrlich gesagt. Zwar extrem einfach, aber auch extrem eingeschränkt...