有没有办法从客户端隐藏单一枢纽中的公共方法?我没有提到身份验证。我不希望为客户端api生成它们。但是,我希望能够从我的项目中的其他DLL访问它们(因此我需要公开而不是内部)。我有调用的控制器方法来执行各种会话查找,并且我想从控制器调用我的SignalR集线器。
答案 0 :(得分:1)
我之前从未使用过SignalR,但我认为该项目有一个Assembly文件。如果是这样,您可以使用InternalsVisibleToAttribute。
答案 1 :(得分:1)
如果客户端永远不应该调用该方法,那么它根本不应该在集线器中;我建议从集线器中提取此逻辑并仅将它们用作连接器。
您可以在集线器配置中disable the generated proxy:
var config = new HubConfiguration
{
EnableJavaScriptProxies = false
};
但这会影响所有方法,据我所知,目前无法根据方法进行自定义(客户端仍然可以通过调用调用方法)。