我知道您可以通过在AppHostExtensions.cs中的appHost扩展方法中调用RegisterService方法在运行时注册服务。效果很好。有没有办法在运行时取消注册服务或清除所有服务并重新注册它们?
我需要这个,因为我想要一个插件类型结构,其中dll可以放在一个文件夹中,servicestack在运行时注册所有服务。
答案 0 :(得分:0)
没有。 ServiceStack不支持在运行时取消连接和取消注册单个服务。
答案 1 :(得分:0)
我想出了一个适合我的简单蛮力方法。宁愿加载和卸载单个服务,但这种方法也可以。
我在AppHost文件中添加了一个方法
public static void Clear()
{
Instance = null;
}
然后在我想要重新加载servicestack的mvc控制器方法中,我调用
AppHost.Instance.Dispose();
AppHost.Clear();
new AppHost().Init();
这将重新加载所有内容并重新初始化可以获取新插件服务dll的服务