我们在用户安装到他们的 Umbraco 网站上的包中使用 ServiceStack。棘手的是用户需要能够添加特定于其实现的其他方法。
我知道传递多个程序集的能力,但问题是我们无法利用 global.asax,我相信 PreApplicationStartMethod 需要编译(因此无法更改)。
谁能想到我们可以拥有一个可覆盖的 AppHost(或覆盖默认值)的方法?
我们在用户安装到他们的 Umbraco 网站上的包中使用 ServiceStack。棘手的是用户需要能够添加特定于其实现的其他方法。
我知道传递多个程序集的能力,但问题是我们无法利用 global.asax,我相信 PreApplicationStartMethod 需要编译(因此无法更改)。
谁能想到我们可以拥有一个可覆盖的 AppHost(或覆盖默认值)的方法?
AppHost 需要是Init,即在Application_Init事件new AppHost().Init()
范围内。
至于注册服务,除了扫描基础构造函数中的程序集外,您还可以通过覆盖AppHost.CreateServiceManager()并返回ServiceManager
仅配置了您希望支持的服务的配置来覆盖注册的服务。
除此之外,您可以在 yourAppHost.Configure()
或 a中使用 RegisterService 动态注册服务IPlugin
,例如:
appHost.RegisterService<RegistrationService>("/AtRestPath");