我開始與SignalR和我有一個情況,我將有一個SignalR站點將廣播消息到客戶端,但我也需要一個管理界面,將實際上觸發這些消息。管理頁面將調用服務器端方法,這些方法將反過來爲常規用戶調用客戶端Javascript方法。所以我想我可以設置兩個獨立的集線器(一個用於管理員,一個用於其他人),或者我可以在一個集線器中擁有方法,只能由管理員調用以檢查授權。抑制一些集線器或方法的代理生成
但除授權外,我希望SignalR不在生成的Javascript代理類中包含管理方法或管理中心,這樣我就不會宣傳它們的存在(再次 - 這不是唯一的安全性,我會檢查授權)。是否有一個屬性或屬性可以設置在單個集線器上或集線器內的方法中,以防止它們被包含在代理中(但仍然可以從Javascript中調用它們)?我知道你可以在你的HubConfiguration
中設置EnableJavaScriptProxies
到false
,但這似乎是全球性的,我想保留我希望普通客戶端使用的東西的代理。
不確定在SignalR生成器中是否存在等價物,但可以使用[ProxyAPI](http://blog.greatrexpectations。 com/2012/11/06/proxyapi-automatic-javascript-proxies-for-webapi-and-mvc /)作爲生成器,它可以讓你[ProxyExclude]方法 –
一個選項是使用signalr.exe來生成代理在編譯時編輯輸出。 –
@el_tone:是的,我也在想。對於這個特定的項目來說這可能不是太複雜(不是很大),但對於更復雜的項目來說,這將是一個巨大的痛苦。 –