Service
Ein Service ist das Element, das die Methoden, welche in einem Service Contract definiert sind, implementiert. Jeder Service muss dabei mindestens einen Service Contract implementieren. Es besteht allerdings auch die Möglichkeit, den Service Contract automatisch aus den Metadaten des Service generieren zu lassen (siehe Service Contract automatisch generieren).
Name
Name des Service-Elements. Dies ist gleichzeitig der Name der Klasse im IntelliSense.
Registerkarte General
In der Textbox Service Class Attributes können zusätzliche Attribute für die Service-Klasse definiert werden (z.B. [System.Serializable]).
Registerkarte Methods
Hier werden die Methoden des Services implementiert. In der Liste können mit Rechtsklick -> New -> Method/Method Override neue Methoden angelegt und im Codefenster ausprogrammiert werden.
Das Property Misc -> GenerateGlobalObject kann für jede Methode unabhängig auf true
oder false
gesetzt werden. Ist es auf True gesetzt, wird im Hintergrund ein GlobalObject (siehe Global Objects) generiert, welches im Code mit Global angesprochen und übergeben werden kann.
Der Zugriff auf Global ist nötig, wenn eine Servicemethode Elemente aus Framework Studio instantiiert, bei deren Instantiierung ein GlobalObject nötig ist. Im Beispiel wird eine cdArticleColl über ihre Factory-Klasse mit cdArticleCollFactory.Create(Global)
erstellt.
Groupbox Properties for autogenerated Service Contract Method:
Alle hier definierten Eigenschaften für die ausgewählte Service-Methode werden nur verwendet, wenn für den Service ein automatisch generierter Service Contract verwendet wird (siehe Service Contract automatisch generieren).
In der Textbox Attributes können Attribute für die automatisch generierte Interface-Methode im Service Contract definiert werden. Das für den Service Contract benötigte Attribut [OperationContract] wird automatisch hinzugefügt und muss nicht manuell eingetragen werden.
In der Liste Fault Contracts können zur derzeit ausgewählten Service-Methode Fault Contracts hinzugefügt werden, die später im Code als Typ für eine FaultException
Groupbox Autogenerated Service Contract: Die Combobox Implement gibt an, ob für den Service ein Service Contract automatisch generiert und implementiert werden soll (siehe Service Contract automatisch generieren). In der Textbox Attributes können Attribute für das automatisch generierte Service Contract Interface definiert werden. Das für den Service Contract benötigte Attribut [OperationContract] wird automatisch hinzugefügt und muss nicht manuell eingetragen werden. Groupbox Implemented Service Contracts: In dieser Liste werden alle Service Contracts aufgelistet, die der Service implementiert. Die Spalte Type zeigt an, ob es sich bei einem Service Contract um einen benutzerdefinierten oder externen Service Contract handelt. Im Menü Edit befindet sich der Eintrag New service host for this service. Damit wird auf Basis des ausgewählten Services ein Service Host-Element im gleichen Namespace erstellt (siehe Fehler! Verweisquelle konnte nicht gefunden werden.). Services sind vollständig ableit- und customizbar. Es können neue Methoden hinzugefügt oder Basismethoden überschrieben werden. Implementierte Service Contracts aus der Basis können nicht gelöscht werden.Registerkarte Contracts
Generieren eines Service Hosts aus einem Service
Ableiten und Customizen von Services