hilpers


  hilpers > microsoft.* > microsoft.german.entwickler.dotnet.csharp

 #1  
08.02.2010, 06:57
Holger
Hallo NG,

ich beschäftige mich als absoluter Silberlight-Newby ein bisschen mit
der Architektur - und verstehe es nicht. Ich möchte einereseits nicht
zu viel Arbeit in Infrastruktur stecken - andererseits aber ein wenig
aufgeräumten Code haben.
In eine SL-Anwendung gibt es normalerweise eine WEB-App, die
Datenanfragen bspw. via WEB-Service beantwortet. Ich arbeite gerne mit
Model-Objects, die ich außerdem gerne in einer eigenen Assembly halte
(weil die brauchen ja dann doch alle Programmteile). Leider erlaubt SL
nur SL-ClassLibraries (wegen der anderen VM). Ich will doch aber meine
Model-Objects auch in nicht SL-Anwendungen verwenden und nicht überall
kopieren und manuell synchron halten...
Was ist denn hier der Trick??

Danke & Viele Grüße
Holger
 #2  
08.02.2010, 07:24
Peter Fleischer
"Holger" <holger.gubbels> schrieb im Newsbeitrag
news:7c1c

> ich beschäftige mich als absoluter Silberlight-Newby ein bisschen mit
> der Architektur - und verstehe es nicht. Ich möchte einereseits nicht
> zu viel Arbeit in Infrastruktur stecken - andererseits aber ein wenig
> aufgeräumten Code haben.
> In eine SL-Anwendung gibt es normalerweise eine WEB-App, die
> Datenanfragen bspw. via WEB-Service beantwortet. Ich arbeite gerne mit
> Model-Objects, die ich außerdem gerne in einer eigenen Assembly halte
> (weil die brauchen ja dann doch alle Programmteile). Leider erlaubt SL
> nur SL-ClassLibraries (wegen der anderen VM). Ich will doch aber meine
> Model-Objects auch in nicht SL-Anwendungen verwenden und nicht überall
> kopieren und manuell synchron halten...
> Was ist denn hier der Trick??


Wenn der WebService die Objekte bereitstellt, dann kann man in der
SL-Anwendung die vom Proxy generierten Klassen nutzen und braucht sie nicht
nochmals zu deklarieren/kopieren. Die nur in der SL-Anwendung genutzten
Klassen muss man natürlich auch dort deklarieren und gegen die SL-Umgebung
kompilieren. Als Trick kann man natürlich einen Dummy-WebService erstellen,
der alle gewünschten Typen rausreicht und für die dann ein Proxy generiert
wird. Probleme wirst du dann aber mit den Zugriffsmodifizierern bekommen,
die wegen der Weitergabe nach außen public sein müssen.
 #3  
09.02.2010, 05:49
Frank Dzaebel
Hallo Holger,

> In eine SL-Anwendung gibt es normalerweise eine WEB-App, die
> Datenanfragen bspw. via WEB-Service beantwortet. Ich arbeite gerne mit
> Model-Objects, die ich außerdem gerne in einer eigenen Assembly halte
> (weil die brauchen ja dann doch alle Programmteile). Leider erlaubt SL
> nur SL-ClassLibraries (wegen der anderen VM).
> Ich will doch aber meine Model-Objects auch in nicht SL-Anwendungen
> verwenden und nicht überall kopieren und manuell synchron halten...
> Was ist denn hier der Trick??


Nimm doch die WCF RIA Services. Dann macht Visual Studio das
für Dich automatisch. Einerseits werden die Proxies der
Client (SL) Seite automatisch aktualisiert, andererseits
kannst Du auch vollkommen flexibel über OData arbeiten.

[RIA Services : The Official Microsoft Silverlight Site]
http://silverlight.net/getstarted/riaservices/


ciao Frank
Ähnliche Themen
[Silverlight] Wie Klasse in Webservice und Silverlight Anwendungbenutzen?

Hallo, ich habe da mal eine Frage zum Erstellen von Klassen in meinem Silverlight Projekt. Ich habe mir eine Silverlight-Klassenbibliothek erstellt, damit ich diese Klasse...

Allgemeine Frage zu Silverlight

Hallo Zusammen, Wenn man Internetseite in Silverlight erstellt, sind dann Kenntnisse in Html, Css,JavaScript und ASP.NET notwendig ? Wenn man in WPF (arbeite mich gerade...

Frage zur Architektur

Moin Gemeinde, da steh ich nun, mit zwei Ek23-Servern (Standard-Version) an zwei unterschiedlichen Standorten innerhalb einer Domäne - funktioniert soweit. Nun möchte ich...

Architektur/Design Frage

Hallo, ich beschäftige mich derzeit ein wenig mit Software-Design und lese dazu im Moment einige Bücher. Ich stehe nun vor dem "kleinen" Problem, eine Designentscheidung...


Alle Zeitangaben in WEZ. Es ist jetzt 03:50 Uhr. | Privacy Policy