【发布时间】:2014-02-07 09:53:28
【问题描述】:
有一些通过
注册的自定义内容类型ContentTypeFilters.Register(contentType, StreamSerializer, StreamDeserializer);
并希望限制元数据页面上路线的显示。这些内容类型仅适用于限制为InternalNetworkAccess 的请求 dto。只是希望不要用不必要的东西把面向公众的元数据页面弄得一团糟。
对于内置的 contentTypes,您只需将其添加到 RestrictAttribute 下。是否有类似的功能隐藏在其他地方但尚未记录在案的自定义类型?
看起来也许我可以自定义 MetadataFeature 插件,并可能限制哪些请求 dto 获取内容类型,哪些不获取。但我最近才注意到这一点,并且不确定结果会如何(也不知道如何删除 MetadataFeature 并安全地替换为我自己的)。
本质上,我只希望此自定义 contentType 在元数据页面上可见,用于限制为 InternalNetworkAccess 的 requestDtos。 有什么想法吗?
编辑:
我还在使用 ServiceStack v3,但仍然对 v4 的可能性感兴趣。
【问题讨论】:
-
所以你不能在使用自定义 contentType 的方法上使用
[Restrict(AccessTo = RequestAttributes.Localhost, VisibilityTo = RequestAttributes.Localhost)]? -
Dto 已经受到限制。因此,当我通过公共地址访问我的页面时,我只看到“外部”Dtos,而当我通过私有网络访问它时,我在元数据页面上看到“外部”+“内部网络访问”Dtos。当您注册显然出现在每个元数据页面上的自定义内容类型时。我真的只需要为 InternalNetworkAccess Dtos 显示自定义内容类型。就像我要关闭 ServiceStack 中的 SOAP 功能一样,任何 SOAP 内容都不会出现在元数据页面中。除了自定义类型,我也想做同样的事情。
-
您使用的是 v3 还是 v4?
-
v3.它在 v4 中有能力吗?
-
我已经在 v4 中测试过,它确实有效。
标签: c# servicestack metadata content-type