Hallo sind auf Konsolenanwendung arbeiten, die Dependency Injection-Muster verwendet, ich habe die Schnittstelle wieUnity Config Fehler in Konsolenanwendung
erstelltpublic interface IRecurringTransactionPlanDataService : IService<RecurringTransactionPlan>
{
IQueryable<RecurringTransactionPlan> RecurringTransactionPlanData();
}
und die Klasse implementiert als
public class RecurringTransactionPlanDataService : Service<RecurringTransactionPlan>, IRecurringTransactionPlanDataService
{
private readonly IRepositoryAsync<RecurringTransactionPlan> _repository;
public RecurringTransactionPlanDataService(IRepositoryAsync<RecurringTransactionPlan> repository)
: base(repository)
{
_repository = repository;
}
public IQueryable<RecurringTransactionPlan> RecurringTransactionPlanData()
{
return _repository.RecurringTransactionPlanData();
}
}
Das Repository:
der obige Code alle in separaten Projekten, ich benutze dies in MVC und auch in Konsole-Anwendung, während in MVC gibt es keine Fehlerdaten von db von UnityConfig.cs, aber in Konsolenanwendung holen müssen wir manuell registrieren und die Schnittstellen zu beheben, ich dies versucht haben,
Meine Konsole-Anwendung:
public class RecurringTransaction
{
public readonly IRecurringTransactionPlanDataService _recurringTransactionPlanDataService;
public RecurringTransaction()
{
var container = new UnityContainer();
container.RegisterType<IRecurringTransactionPlanDataService, RecurringTransactionPlanDataService>();
_recurringTransactionPlanDataService = container.Resolve<IRecurringTransactionPlanDataService>();
}
}
public class Program
{
public static void Main(string[] args)
{
FeePaymentTracker.UnityConfig.RegisterComponents();
RecurringTransaction rt = new RecurringTransaction();
var restult = rt.GetRecurringTransactionRecords();
}
}
sind den obigen Fehler. Erwarten Sie Ihre Ideen, um den Fehler zu beheben.
Sie verwenden das Service Locator-Muster, nicht die Abhängigkeitsinjektion. Sie müssen zeigen, wie Sie Ihre Typen bei Unity registrieren. Ich sehe nirgendwo in Ihrem Beispiel einen 'RecurringTransactionPlanDataService'-Typ. – Crowcoder
Bitte beachten Sie die bearbeitete – Ranjith