2

私はここで行われたことをやろうとしています:

// Get the HttpContext from the SignalR request
var context = Context.Request.GetHttpContext();

(つまり、読み取り専用に httpcontext を使用します)

これは私が達成しようとしているものです:

1) イベントが変更されたとき、ハブで SendMessage メソッドを呼び出します

public override Task OnConnected()
{
    ActionManager.refreshStatusChanged += this.SendMessage;
    return base.OnConnected();
}

2) SendMessage は Web サービスを呼び出し (数秒かかる場合があります)、signalR を介して応答を送信します。

public void SendMessage(object sender, ActionItemArgs e)
{
     var context = this.Context.Request.GetHttpContext(); // THIS WORKS RANDOMLY!!
     // USE CONTEXT FOR SOME OTHER STUFF

     // send response to clients
     this.Clients.Client(e.ConnectionId).actionInit(false, e);
}

――これは正しいやり方ですか?代わりにタスクを使用する必要があります。そうであれば、まだ this.Context.Request.GetHttpContext() にアクセスできますか??

-this.Context.Request.GetHttpContext() - これは私が時々目にするものです (これはめったに起こりません) が、null 参照例外が発生します (これらのプロパティの束は null です):

ここに画像の説明を入力

4

0 に答える 0