私はこの問題を午後ご利用にならないようにしました。 SignalRをSharePointファームソリューションに統合するという要件があります(http://sharepoint-community.net/profiles/blogs/using-signalr-2-2-in-a-sharepoint-2013-farm-solution)。統合自体はここでは問題にはなりません。カスタムを消費するときにログイベントが表示されると、PersistentConnectionがJSになります。私の会社では、HttpHandlersに基づいたサービスレイヤーを使用してカスタムサフィックスに応答し、URLパターンに基づいてどのメソッドを呼び出すかを知るために何らかのリフレクションを実行します。すべてが常に素晴らしい仕事をしています!この問題は、カスタムのPersistentConnectionにメッセージを送信して、接続されているすべてのクライアントにブロードキャストできるようにするサービスコードで発生すると、Microsoft.AspNet.SignalR.Client.Connectionオブジェクトをインスタンス化します。オブジェクトのインスタンス化時に呼び出しのターゲットによって例外がスローされました
using Microsoft.AspNet.SignalR.Client;
// other usings
[Route] // Custom attribute
public object MyCustomServiceMethod() {
try // LINE NUMBER: 5
{
// broadcast message to all connected clients
var url = "CONNECTION URL"; // LINE NUMBER 8
var connection = new Connection(url); // LINE NUMBER: 9
connection.Start().Wait(); // LINE NUMBER: 10
connection.Send(CUSTOM_MODEL_HERE).Wait(); // LINE NUMBER: 11
return Ok(new // LINE NUMBER: 13
{
Status = "SOME STATUS CODE HERE",
Data = SOME DATA HERE
});
}
catch (Exception ex)
{
// some logging logic here
}
}
事は、私が手である「呼び出しのターゲットが例外をスローされました。」例外と実行はMyCustomServiceMethodメソッドを実行しません。面白いのは、私が9行、10行、11行の行をコメントすると、実行は13行目に戻り、完全に戻ります。私のsharepointプロジェクトは.Net 4.5に対してコンパイルされているので、私はSignalR Clientのバージョン4.5(https://github.com/SignalR/SignalR/tree/dev/src/Microsoft.AspNet.SignalR.Client45)を参照しました。上記の行のコメントを外したままにしておくと、カスタムサービスメソッド内の5行目のブレークポイントにもコードの実行が到達しません。パイプラインの前に例外がスローされます。私はここで何が欠けていますか?
ありがとうございます!