我还没有尝试过这个,但我希望每个模块(Silverlight)注册自己的路由,而不是将其添加到应用程序启动中。
可以在应用程序启动后将路由添加到 AppHost,还是必须在配置步骤中立即注册它们?
我正在考虑在启动时扫描所有程序集,并向AppHost提供所有实现服务堆栈服务的程序集,但让每个模块添加自己的路由(尚未弄清楚确切的机制)。
在走这条路线之前,需要知道是否可以在配置步骤之后添加路线。
所有配置和注册都在服务栈 http://www.servicestack.net应在期限内完成AppHost.Configure()
方法并在此后保持不变。
如果您想将路由注册封装在模块中,请将其打包为Plugin https://github.com/ServiceStack/ServiceStack/wiki/Plugins并手动注册它们IPlugin.Register(IAppHost)
.
以下是注册路线的一些不同方法:
public class MyModule : IPlugin
{
public void Register(IAppHost appHost)
{
appHost.Routes.Add<MyRequestDto>("/myservice", "POST PUT");
appHost.Routes.Add(typeof(MyRequestDto2), "/myservice2", "GET");
appHost.RegisterService(typeof(MyService), "/myservice3");
}
}
然后在您的 AppHost.Configure 中您将注册插件,例如:
Plugins.Add(new MyModule());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)