.
Anmeldung | Registrieren | Hilfe
in Suchen

StructureMap Exception 202 tritt in WindowsService-Projekt aber nicht in MVC-Projekt auf

Letzter Beitrag 06. Okt 2010 20:50 von Tobias Lindner. 2 Antworten.
Seite 1 von 1 (3 Treffer)
Beiträge sortieren: Zurück Weiter
  • 26. Aug 2010 15:42

    • Tobias Lindner
    • Top 50 Mitwirkender
      Männlich
    • Registriert am 22. Jan 2008
    • 81739 München
    • Beiträge 34
    • Punkte 565

    StructureMap Exception 202 tritt in WindowsService-Projekt aber nicht in MVC-Projekt auf

    Hallo

    bei meinem aktuellen Projekt habe ich versucht, meine Anwendung mit StructureMap zu entkoppeln. Soweit funktioniert auch alles ganz gut. Habe mehrere DLLs und ein ASP.NET MVC Projekt.

     

    Nun zu meinem Problem:

    Habe vor kurzem noch ein neues Projekt (Windows Service) hinzugenommen, welches ebenfalls Funktionalitäten aus den DLLs per StructureMap nutzen soll.

     

    public partial class MyService : ServiceBase
    {
       private IEmailSender _emailSender;
    
       public MyService()
        {
            this.InitializeComponent();
            ConfigureStructureMap();
            this._emailSender = ObjectFactory.GetInstance<IEmailSender>();
        }
    
        public static void ConfigureStructureMap()
        {
            ObjectFactory.Initialize(x =>
            {
                x.AddRegistry(new MyApplicationRegistry());
            });
        }
    
        public class MyApplicationRegistry : Registry
        {
            public MyApplicationRegistry()
            {
                Scan(assemblyScanner =>
                {
                    assemblyScanner.TheCallingAssembly();
                    assemblyScanner.WithDefaultConventions();
                });
            }
        }
    }

     

    Im MVC Projekt funktioniert dieser Aufruf:

    this._emailSender = ObjectFactory.GetInstance<IEmailSender>();

     

    Im Windows Service kommt folgenden Fehlermeldung:

     

    StructureMap Exception Code:  202

    No Default Instance defined for PluginFamily XXX.Service.IEmailSender, XXX.Service, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

     

    Die “StructureMap.config” ist ebenfalls eingebunden.

     

    Ich weiß einfach nicht mehr weiter. Bin für jeden Hinweis/Link dankbar.

    • IP-Adresse ist Registriert
  • 12. Sep 2010 1:29 Antwort zu

    • Peter Bucher
    • Top 50 Mitwirkender
      Männlich
    • Registriert am 29. Jan 2008
    • Schweiz, Luzern
    • Beiträge 38
    • Punkte 560

    StructureMap Exception 202 tritt in WindowsService-Projekt aber nicht in MVC-Projekt auf

    Hallo Tobias

    Wenn du dich auf Konventionen verlässt, musst du ggf. diese auch nachprüfen oder anzweifeln :-).

    In deinem Fall greift die Konvention - aus welchen Gründen auch immer - laut der Meldung, nicht.
    StructureMap findet keine "Default Instance" / "Standard Instanz". Wobei ich diesen Begriff komisch finde.......

    Ich würde formulieren: "StructureMap kennt keinen Typen, der standardmässig für diesen Kontrakt "IEmailSender" genutzt werden soll."

    Lösung: Andere Konvention oder explizite Registrierung deines Implementationtyps auf den Kontrakt.

    Du kannst gerne auch mal einen Blick auf http://lightcore.ch/ werfen :-).

    HTH

    • IP-Adresse ist Registriert
  • 06. Okt 2010 20:50 Antwort zu

    • Tobias Lindner
    • Top 50 Mitwirkender
      Männlich
    • Registriert am 22. Jan 2008
    • 81739 München
    • Beiträge 34
    • Punkte 565

    StructureMap Exception 202 tritt in WindowsService-Projekt aber nicht in MVC-Projekt auf

    Hallo Peter,

    entschuldige bitte, dass ich jetzt erst zurück schreibe. Bin seit mehreren Wochen im Umzugsstress.

    Wenn ich den Typ explizit registriere, dann klappt es momentan wunderbar. Danke für den Hinweis.

    Dein Projekt "Lightcore" werde ich mir bei Gelegenheit einmal genauer anschauen.

    Gruß

    • IP-Adresse ist Registriert
Seite 1 von 1 (3 Treffer)

WPF Forum | ASP.NET Forum | ASP.NET MVC Forum | Silverlight Forum | Windows Phone 7 Forum | SharePoint Forum | Dotnet Jobs | Dotnet Termine | Developer Blogs | Dotnet News

Das Team | Regeln | Impressum