私は、WebApiプロジェクトとWebプロジェクトでHubを使用したいSignalRプロジェクトに取り組んでいます。だから私は1つのクラスライブラリプロジェクトを作成し、そこにハブを実装しました。ここに私のハブであるハブが異なるプロジェクトのSignalRにある場合、ハブに接続するには?
-ChatHub
-Hub
-Webapi
-Website
:
マイプロジェクト構造は次のようになります
[HubName("chathub")]
public class ChatHub : Hub
{
public override Task OnConnected()
{
return base.OnConnected();
}
public override Task OnReconnected()
{
return base.OnReconnected();
}
}
私はそれがうまく働いている私のウェブサイトからハブを呼び出します。ここで
<script src="~/signalr/hubs"></script>
var chatHub = $.connection.chathub;
は私が外からハブを接続する方法である(アンドロイド):
mHubConnection = new HubConnection(http://{IpAddress}/ChatApp/);
mHubProxy = mHubConnection.createHubProxy(chathub);
API:
public IHttpActionResult LoginUser([FromBody]LoginModel model)
{
var hubContext = GlobalHost.ConnectionManager.GetHubContext<ChatHub>();
//chatUser logic here
hubContext.Clients.Client(chatUser.ConnectionId).receiver(response);
}
しかし、それは私にエラー与える:
java.util.concurrent.ExecutionException: microsoft.aspnet.signalr.client.transport.NegotiationException: There was a problem in the negotiation with the server 10-13 18:15:54.074 18686-18686/com.chatapp.android W/System.err: Caused by: microsoft.aspnet.signalr.client.http.InvalidHttpStatusCodeException: Invalid status code: 404
方法を私のハブがAPIプロジェクトの外にいる場合は、ハブに接続できますか?
私はSharing a SignalR hub between a WebApi and MVC projectを通過しましたが、回答が得られませんでした。