如何动态注册/取消注册服务

时间:2012-11-28 04:45:53

标签: servicestack

我知道您可以通过在AppHostExtensions.cs中的appHost扩展方法中调用RegisterService方法在运行时注册服务。效果很好。有没有办法在运行时取消注册服务或清除所有服务并重新注册它们?

我需要这个,因为我想要一个插件类型结构,其中dll可以放在一个文件夹中,servicestack在运行时注册所有服务。

2 个答案:

答案 0 :(得分:0)

没有。 ServiceStack不支持在运行时取消连接和取消注册单个服务。

答案 1 :(得分:0)

我想出了一个适合我的简单蛮力方法。宁愿加载和卸载单个服务,但这种方法也可以。

我在AppHost文件中添加了一个方法

public static void Clear()
{
    Instance = null;
}

然后在我想要重新加载servicestack的mvc控制器方法中,我调用

AppHost.Instance.Dispose();
AppHost.Clear();
new AppHost().Init();

这将重新加载所有内容并重新初始化可以获取新插件服务dll的服务