Von
Max Knor
11. July 2009 13:15
Diese neue Funktion von Silverlight 3 wird verwendet, um Silverlight Anwendungen durch eigene Dienste zu erweitern. Diese Dienste werden mit der Applikation gestartet und sind werden der gesamten Laufzeit derselben aktiv.
Kern der Funktionalität sind zwei Interfaces IApplicationService und IApplicationLifetimeAware, über die die eigenen Dienste über den Status der Anwendung informiert werden.
public class MySyncService : IApplicationService, IApplicationLifetimeAware
{
public void StartService(ApplicationServiceContext context);
public void StopService();
public void Starting();
public void Started();
public void Exiting();
public void Exited();
}
Nun können Sie das Service über XAML oder C# hinzufügen:
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="SL3Demo.App"
xmlns:my="clr-namespace:SL3Demo"
>
<Application.Resources>
</Application.Resources>
<Application.ApplicationLifetimeObjects>
<my:MySyncService />
</Application.ApplicationLifetimeObjects>
</Application>
Oder
Application.Current.ApplicationLifetimeObjects.Add(new MySyncService());
Nutzen Sie die Application Extensibility um Dienste wie Authentifizierung, Downloader, Synchronisierung oder ähnlich applikationsweite Objekte zu instanzieren.
knom