Eine Classlibrayr gleichzeiting für .NEt und .NEt Microframework benutzbar machen

18/09/2009 - 23:20 von Nicolas Pavlidis | Report spam
Hi!

Folgendes Problem:
Ich eine eine Art Container, der soll remote fàhig gemacht werden, im
Sinne eines Prozies (nach Gamma et all).

Das habe ich auch schon erledigt.
Das ganze soll auf .NEt Microframework 2.5 laufen, tut es auch schon :-).

Allerdings wàre der zweite Endpunkt in einer Applipation beheimetet der
ein ganzer Rechner zur Verfügung steht und auf .NET 3.5 fußt.

Problem: Ich hab irgendwie keine Lust den Code einmal für >NEt und
einmal für .NET Microframework im Projekt zu haben, was aber dank der
verschiedenen Versionsnummern und Funktionalitàten die die Socket
Klassen jeweils bieten nicht so trivial zu sein scheint.

Ich benutz nur die normalen Methoden (derweil) , sprich Connect, Listen,
Bind und Accept und den Konstrucktor natürlich :-).

Kann aber noch passieren dass ich SendTimeOut und ReceveTimeout auch
noch brauchen werde, allerdings scheinen sich die beiden Socket klassen
effektiv kaum zu unterschieden.

Hat jemand eine Idee wie ich das Ding so entwerfen kann, dass es unter
beiden Frmaeworks compilier und ausführbar ist?

Ich habe heute schon probiert die System.dll, um die es hier geht, aus
dem Installaionsverzeichnis des .NET Microframeworks in den Ordner
meienr Library zu kopieren und dann zu referenzieren, hat alles super
geklappt bis ich zur Laufzeit zum ersten methodenaufruf auf meine
Socketinstanz gekommen bin, der dann mit einer System.SecurityException
quitiert wurde.

Vielleicht hat ja jemand einen Rat für mich :-).

Danke && LG
Nicolas
| Nicolas Pavlidis | Elvis Presly: |
| Student of SE & KM | "Into the goto" |
| http://pavnics-thoughts.blogspot.com |
| University of Technology, Graz|
 

Lesen sie die antworten

#1 Frank Dzaebel
19/09/2009 - 14:50 | Warnen spam
Hallo Nicolas,

[...] Allerdings wàre der zweite Endpunkt in einer Applipation beheimetet
der ein ganzer Rechner zur Verfügung steht und auf .NET 3.5 fußt.

[...] Ich habe heute schon probiert die System.dll, um die es hier geht,
aus dem Installaionsverzeichnis des .NET Microframeworks in den Ordner
meienr Library zu kopieren und dann zu referenzieren, hat alles super
geklappt bis ich zur Laufzeit zum ersten methodenaufruf auf meine
Socketinstanz gekommen bin, der dann mit einer System.SecurityException
quitiert wurde.



Es gibt zwischen den Frameworks Unterschiede bzgl. der
Rechte bei der Remote-Ausführung. Erst in "3.5 SP1"
wird der Assembly dann FullTrust gegeben. Aber Du
hast andere Mittel (ohne Änderung der Assembly) um
das zu ermöglichen:

[SecurityException bei Zugriff über LAN]
http://dzaebel.net/Security.htm

[.NET Micro Framework | Resources, Whitepapers, Tools, & Developer Kits]
http://msdn.microsoft.com/en-us/net...67253.aspx

Bessere Newsgroup evtl.:
microsoft.public.dotnet.framework.microframework
___________

Ich vermute, das Kopieren der Assemblies ist kein guter Weg hier.
Besser die saubere Redirection in der config zum Beispiel.

[Umleitung der Assemblybindung]
http://msdn.microsoft.com/de-de/lib...472t2.aspx

und folgende ...


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen