Mittwoch, 5. Dezember 2018

Raspberry Pi als Home Server Teil 2

Nachdem ich das Grundgerüst zum Parsen (RequestParser und ResponseParser) und zum Zusammenstellen (RequestBuilder und ResponseBuilder) fertiggestellt und zeitgleich das Command für das Connect implementiert habe, habe ich damit begonnen den Server für den Raspberry zu schreiben.

Das Projekt Template für Visual Studio 2017 ist unter folgendem Link zu finden:

Nach dem Anlegen des Projektes habe ich eine kurze sehr simple Implementierung geschrieben und im nächsten Zug versucht die App auf meinen Raspberry zu veröffentlichen. Die Zielplattform musste ich korrekterweise noch auf ARM stellen, konnte nach dem Deployen aber direkt via Remote Debugging die App debuggen.

Die Background Task:
public sealed class StartupTask : IBackgroundTask
{
  private static readonly ILogger Log = LogManager.GetCurrentClassLogger();
  private BackgroundTaskDeferral _deferral;

  public async void Run(IBackgroundTaskInstance taskInstance)
  {
    Log.Info("-----------------------------------------------------------------------------");
    Log.Info($"Start server {typeof(StartupTask).GetTypeInfo().Assembly.GetName().Version}.");
    _deferral = taskInstance.GetDeferral();
    taskInstance.Canceled += TaskInstanceCanceled;
    await new Bootstrapper().RunAsync();
  }

  private void TaskInstanceCanceled(IBackgroundTaskInstance sender, BackgroundTaskCancellationReason reason)
  {
    Log.Info($"Stop server {typeof(StartupTask).GetTypeInfo().Assembly.GetName().Version}.");
    _deferral.Complete();
  }
}

Release Notes für Windows IoT Raspberry Pi 3 B+ Insider Preview

Keine Kommentare:

Kommentar posten