Shiny + Prism + 平台服务示例
Shiny + Prism + Platform Service Example
我正在尝试更新 Prism 8.1 应用程序以使用 Shiny v2。
在尝试将我的一项服务转变为工作时,我不断收到容器解析错误(使用 Unity)。我不确定注册服务平台实现的模式是什么。作业有一项来自我的平台项目的服务,但在调用 services.RegisterJob()
时我猜平台初始化程序没有 运行.
有人可以 post 举例说明您应该如何向 Shiny 注册平台实现吗?
嗯,我不确定这是否是预期的设计,但我通过这种方式解决了平台服务。
我向我的 ShinyStartup
添加了一个构造函数参数,如下所示:
public Startup(IPlatformInitializer platformInitializer) : base(PrismContainerExtension.Current)
{
_platformInitializer = platformInitializer;
}
然后在我的 AppDelegate
中我使用了这个:
Shiny.ShinyHost.Init(new Shiny.ApplePlatform(), new Startup(new iOSInitializer()));
其中 iOSInitializer
是我的棱镜 IPlatformInitializer
。
然后在 Startup
我补充说:
protected override void RegisterServices(IContainerRegistry containerRegistry)
{
_platformInitializer.RegisterTypes(containerRegistry);
...
}
至于 IJob
在使用 RegisterJob
时没有解决依赖关系,我使用 IJobManager.Register
将作业注册移动到 App.OnStart
并且它有效。也不确定这是否是预期的设计。
我在调用 RegisterJob
之前完成了所有容器的连接,但它仍然无法解决,所以在 Prism+Shiny 世界中一定有一些隐藏的东西正在发生。
我正在尝试更新 Prism 8.1 应用程序以使用 Shiny v2。
在尝试将我的一项服务转变为工作时,我不断收到容器解析错误(使用 Unity)。我不确定注册服务平台实现的模式是什么。作业有一项来自我的平台项目的服务,但在调用 services.RegisterJob()
时我猜平台初始化程序没有 运行.
有人可以 post 举例说明您应该如何向 Shiny 注册平台实现吗?
嗯,我不确定这是否是预期的设计,但我通过这种方式解决了平台服务。
我向我的 ShinyStartup
添加了一个构造函数参数,如下所示:
public Startup(IPlatformInitializer platformInitializer) : base(PrismContainerExtension.Current)
{
_platformInitializer = platformInitializer;
}
然后在我的 AppDelegate
中我使用了这个:
Shiny.ShinyHost.Init(new Shiny.ApplePlatform(), new Startup(new iOSInitializer()));
其中 iOSInitializer
是我的棱镜 IPlatformInitializer
。
然后在 Startup
我补充说:
protected override void RegisterServices(IContainerRegistry containerRegistry)
{
_platformInitializer.RegisterTypes(containerRegistry);
...
}
至于 IJob
在使用 RegisterJob
时没有解决依赖关系,我使用 IJobManager.Register
将作业注册移动到 App.OnStart
并且它有效。也不确定这是否是预期的设计。
我在调用 RegisterJob
之前完成了所有容器的连接,但它仍然无法解决,所以在 Prism+Shiny 世界中一定有一些隐藏的东西正在发生。