我知道您可以在运行时通过在AppHostExtensions.cs的appHost扩展方法中调用RegisterService方法来注册服务。效果很好。有没有办法在运行时unRegister一个服务,或者清除所有服务并重新注册它们?
我需要这个,因为我想有一个插件类型的结构,其中dll可以放在一个文件夹中,servicestack在运行时注册所有的服务。
发布于 2012-11-28 13:07:25
不是的。ServiceStack不支持在运行时取消连接和取消注册单个服务。
发布于 2012-11-28 14:37:21
我想出了一种简单的暴力方法,对我来说是有效的。我更喜欢加载和卸载单个服务,但这种方法就可以了。
我在AppHost文件中添加了一个方法
public static void Clear()
{
Instance = null;
}然后,在我想要重新加载servicestack的mvc控制器方法中,调用
AppHost.Instance.Dispose();
AppHost.Clear();
new AppHost().Init();这将重新加载所有内容,并重新初始化可以获取新插件服务dll的服务
https://stackoverflow.com/questions/13597979
复制相似问题