1

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

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

4

2 回答 2

0

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

于 2012-11-28T05:07:24.657 回答
0

我想出了一个对我有用的简单的蛮力方法。更愿意加载和卸载单个服务,但这种方法可以。

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

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

然后在我想重新加载服务堆栈的 mvc 控制器方法中,我调用

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

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

于 2012-11-28T06:37:21.323 回答