bugfix> angular > 投稿

信号機を角度で使用しようとしています。 Helloという関数を持つc#で動作するハブがあります

public class myHub : Hub
{
    public void Hello(string msg)
    {
        Console.WriteLine("HIIII" + msg);
    }
}

アンギュラー5とパッケージng2-signalrを使用していますが、接続の作成方法がわかりません。 私はドキュメンテーション しかし、コードの流れを理解できませんでした。 誰でも私をガイドに向けることができますか、おそらく簡単な例を与えることができます

回答 1 件
  • 実際に接続しました。

    バージョンのapp.module.tsのドキュメントに従ってください> 2

    import { SignalRModule } from 'ng2-signalr';
    import { SignalRConfiguration } from 'ng2-signalr';
     // >= v2.0.0
     export function createConfig(): SignalRConfiguration {
     const c = new SignalRConfiguration();
     c.hubName = 'name of your hub'; 
     c.qs = { user: 'donald' };
     c.url = 'https://url to root of your service';
     c.logging = true;
     // >= v5.0.0
     c.executeEventsInZone = true; // optional, default is true
     c.executeErrorsInZone = false; // optional, default is false
     c.executeStatusChangeInZone = true; // optional, default is true
     return c;
    }
    
    

    注意すべき重要なことは、ハブの名前(この場合はmyHub)であり、サービスのルートを入力するだけです。パッケージはシグナル経路を追加します

    ドキュメントに記載されているように、これをインポートの最後に追加します

    SignalRModule.forRoot(createConfig)
    
    

    次に、接続を単一のコンポーネントに挿入しようとしました。

    // inside your component.
      constructor(private _signalR: SignalR)  {
    }
    ngOnInit() {
      this._signalR.connect().then((c) =>console.log("Connected")); 
    
    }
    
    

    私が遭遇した障害は、私のサービスでのコルでした。 startup.csでは、これは私の構成です

    public void Configuration(IAppBuilder app)
        {
            // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=316888
            app.Map("/signalr", map =>
            {
                map.UseCors(CorsOptions.AllowAll);
                map.RunSignalR(new HubConfiguration()
                {
                    EnableDetailedErrors = true,
                    EnableJavaScriptProxies = true
                });
            });
        }
    
    

    これにより、ハブに正常に接続できました。

あなたの答え