0

私はSignalR、VS 2010 を使用して asp .net Web アプリケーションのクロスドメイン実装に取り​​組んでいます。

HubConnection()私の問題は、アプリケーションからアクセスできないことです。SignalR バージョン 0.5.3 をインストールしました。の名前空間を検索しまし HubConnection()たが、見つかりませんでした。HubConnection()の名前空間またはアクセスできない理由を教えてください。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SignalR;

namespace SignalRVersion5
{
    public partial class TestServerEvent : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            var connection = new HubConnection("http://localhost:58416/");
            var chat = connection.CreateProxy("chat");
            chat.On<string>("addMessage", Console.WriteLine);
            try
            {
                connection.Start().Wait();
                string msg = null;
                while ((msg = Console.ReadLine()) != null)
                {
                    chat.Invoke("send", msg).Wait();
                }
            }
            catch (Exception ex)
            {
                using (var error = ex.GetError()) // NEW ERROR HANDLING FEATURES
                {
                    Console.WriteLine(error.StatusCode);
                }
            }
        }
    }
}
4

2 に答える 2

2

NuGet で入手できる SignalR クライアント パッケージを使用する必要があります: http://nuget.org/packages/Microsoft.AspNet.SignalR.Client

SignalR の 1.0.0 RC2 バージョンを使用する必要があります。0.5.3 は古くなっています。

正しいクライアント パッケージをインストールしたら、Microsoft.AspNet.SignalR.Client.Hubs名前空間を使用する必要があります。

https://github.com/SignalR/SignalR/wikiのドキュメントは、SignalR の最新バージョンで常に最新の状態に保たれています。次のドキュメントは、ハブでの .NET クライアント ライブラリの使用に関連しています: https://github.com/SignalR/SignalR/wiki/SignalR-Client-Hubs

于 2013-01-28T23:31:30.070 に答える
1

以下は、SignalR.Client 0.5.1.1 を使用した例です。新しいプロジェクトを作成する場合は、まず SignalR 1.0 を確認することをお勧めします。

using SignalR.Client.Hubs;

var hubConnection = new HubConnection(HUB_URL);
var hub = hubConnection.CreateProxy(HUB_NAME);

Console.WriteLine("Starting connection");

await hubConnection.Start();

Console.WriteLine("Connected");

var start = DateTime.Now;
var question = new Question
{
    Text = "text message",
    Time = start.ToString("d")
}
};

await hub.Invoke("Ask", question);
hubConnection.Stop();
于 2013-01-28T23:49:45.447 に答える