Prism - регистрация общего сервиса - PullRequest
0 голосов
/ 05 февраля 2019

Извините, что задаю такой простой вопрос, но я застрял и пытаюсь найти то, что я мог ошибиться.

Как мне зарегистрировать службу в моем общем коде (файлы IService и Service находятся вбаза общего кода)?Должен ли я использовать синглтон или экземпляр?И каков код для этого, потому что это не ясно для меня.И не смог найти awnser онлайн, и здесь код для регистрации не указан.
Служба - это служба базы данных, если это имеет значение.

Я пытался:

        protected override void RegisterTypes(IContainerRegistry containerRegistry)
    {
        //services
        containerRegistry.Register<IDbItemService, DbItemService>();
        Debug.WriteLine("registered app");

    }

Но при вызове помещая этот код в конструктор моей viewmodel:

IDbItemService dbItemService)

При запуске приложения на iphone происходит сбой приложения с ошибкой NSInconsistency:иметь корневой контроллер представления в конце запуска приложения
, что, вероятно, происходит потому, что конструктор не может найти службу.

РЕДАКТИРОВАТЬ: у конструктора службы также есть «служба» для платформыконкретный код.

Спасибо

Edit2:
Да, теперь я вижу, что у меня есть регистр, который должен быть, потому что я также попробовал эту функцию и скопировал ее.Я пробовал и Register, и Registersingleton, но оба по-прежнему приводили к сбою моего приложения.
Во-вторых, служба является общей реализацией, я пытался сделать это с помощью «(файлы IService и Service находятся в базе общего кода)».

В-третьих, я не получаю никакой информации об исключении. Я просто запустил код, и он просто останавливается и выдает мне эту ошибку:

Foundation.MonoTouchException: Objective-C exception thrown. Name: NSInternalInconsistencyException Reason: Application windows are expected to have a root view controller at the end of application launch Native stack trace:

Далее я пытаюсьреализовать базу данных, следуя этому примеру github .Я сделал еще одну отладку, и код вылетает после этой строки в IncidentService, расположенном в общем проекте из примера: _platformDb.Connection.CreateTableAsync<Incident>().Wait();

Я прошу прощения за то, что не ясно указал, в чем проблема, потому что, честно говоря, я также не понимаюдействительно не знаю.Так что, если у вас есть пример того, как реализовать базу данных в формах xamarin, просто бросьте ее мне.

...