0

コンソール アプリケーションで SignalR を使用して Ninject をセットアップしようとしていますが、次のようになります。

System.MissingMethodException: このオブジェクトにはパラメーターなしのコンストラクターが定義されていません。

私のコードは次のようになります。

static void Main(string[] args)
{
    string url = "http://localhost:8081/";
    var server = new Server(url);                        

    // Map the default hub url (/signalr)
    GlobalHost.DependencyResolver = new NinjectDependencyResolver(Kernel);            
    server.MapHubs();

    // Start the server
    server.Start();
4

1 に答える 1

2

Server インスタンスを作成する前に、これを行う必要があります。

static void Main(string[] args)
{
    GlobalHost.DependencyResolver = new NinjectDependencyResolver(Kernel);

    string url = "http://localhost:8081/";
    var server = new Server(url);                        

    // Map the default hub url (/signalr)
    server.MapHubs();

    // Start the server
    server.Start();

また

サーバー自体に依存関係リゾルバーをセットアップします。

static void Main(string[] args)
{
    string url = "http://localhost:8081/";
    var server = new Server(url, NinjectDependencyResolver(Kernel));

    server.MapHubs();

    // Start the server
    server.Start();

後者の場合、ブロードキャストに GlobalHost を使用することはできませんが、サーバーを直接使用して同じことを行うことができます。

于 2012-07-22T19:37:56.883 に答える