1
我在my
集線器這種方法的一個實例過載:SignalR不調用服務器端方法,如果它有一個希望將類
Public Sub SaveFields(ByVal changeSignal As String)
Dim foo As Integer = 5
End Sub
如果我把它從客戶端這樣的:
testHub.server.saveFields("abc");
然後SaveFields
被調用成功。但是,如果我有一個Class
這樣的:
Public Class WOChangeSignal
Public WOID As Integer
Public FieldUpdates As Dictionary(Of String, String)
End Class
並添加過載SaveFields
這樣的:
Public Sub SaveFields(ByVal changeSignal As WOChangeSignal)
Dim foo As Integer = 5
End Sub
Public Sub SaveFields(ByVal changeSignal As String)
Dim foo As Integer = 5
End Sub
然後我的
testHub.server.saveFields("abc");
通話將unsuccssful,就像我的電話
testHub.server.saveFields({
WOID: 1234,
FieldUpdates: [
{Key: 2, Value: 4},
{Key: 3, Value: 5}
]
});
因爲這些嘗試都沒有實際調用服務器端方法。因此,我認爲問題是預期Class
的實例的超載。所以,我的問題如下:爲什麼SignalR不會調用任何重載,如果我添加一個預期爲WOChangeSignal
參數的超載?
請參閱本關於重載Web方法: [http://stackoverflow.com/questions/3921142/net-overload-webmethods-possible](http://stackoverflow .com/questions/3921142/net-overload-webmethods-possible) – alwaysVBNET
查看接受的答案:http://stackoverflow.com/questions/15686859/signalr-hub-overloads – supertopi
@supertopi,我明白參數的數量必須不同,因此需要在代碼中進行更改,但是我想知道是什麼導致了我所描述的行爲,或者簡單地說:發生了什麼,導致系統無法執行任何重載? –