有没有办法在ServiceStack中禁用默认端点?

时间:2012-12-26 16:12:22

标签: c# rest servicestack

默认情况下,服务堆栈已启用Default Endpoint

我可以通过以下方式禁用Soap端点:

SetConfig(new EndpointHostConfig 
{
    EnableFeatures = Feature.All.Remove(Feature.Soap)
});

我希望只留下REST端点。

1 个答案:

答案 0 :(得分:2)

ServiceStack中的大多数功能都封装在modular and configurable plugins中。由于预定义的路由功能为自动预先注册(即默认启用),您需要在AppHost.Configure()中显式删除它,就像使用任何插件一样:

Plugins.RemoveAll(x => x is PredefinedRoutesFeature); 

警告:通常不建议这样做,因为它会使built-in ServiceClient's无法工作,因为除非使用显式路由指定,否则它将使用预期存在的预定义路由。

基本上,如果您计划使用.NET服务客户端,我强烈建议不要删除此功能,我看不出任何有理由将其删除,因为它不是公共代码路径的一部分所以不会招致任何性能损失 - 它只是限制了内置功能。<​​/ p>