1

WCF サービス (DLL ファイル) を作成しました。これを使用して、ソリューション内の「隣接する」プロジェクトからサービス参照を追加できます。

Windows フォーム アプリケーションで、この WCF サービスにアクセスできるようにしたり、ホストしたりしたいと考えています。リモートの場所から使用する必要があり、URI 経由でアクセスする必要があります。(IPアドレス:ポート!?)

よくわからないのは、Windows フォーム アプリケーションでホストする方法ですか? 私は多くの例を見てきましたが、何をする必要があるかを完全に理解することはできません...

DLL ファイルの参照を新しい Windows フォーム アプリケーションに追加し、何らかの方法で DLL ファイルを "シェル" にしますか? WCF サービス プロジェクトの種類を Windows フォーム プロジェクトに変更できますか? ここで何が起こる必要がありますか?

私が構築できるいくつかの基本的な例をいただければ幸いです。バインディングを優先するわけではありませんが、別のリモート Windows フォーム アプリケーションからアクセスすることになりますが、最終的には、リモート ASP.NET Web アプリケーションによってアクセス/使用されることになります。

今のところ、次の作業を行う必要があります。

リモート Windows フォーム アプリケーション <---> (サーバー) WCF サービス (独自の Windows フォーム アプリケーションでホスト)

これどうやってするの?

4

3 に答える 3

1

最初の WCF サービスを作成するための 4 つのステップ: 初心者シリーズの記事を参照できます。

于 2013-05-25T14:54:29.890 に答える
1

私の理解が正しければ、ASP.NET ではなく、自己ホスティングを探しているようです。「方法: マネージド アプリケーションで WCF サービスをホストする」を参照してください。

サービスは独自のクラス ライブラリにとどまることができます。Windows フォーム プロジェクトからインスタンス化するだけで済みます。たとえば、それProgram.Main()を Program.cs にコピーして、...

Console.WriteLine("The service is ready at {0}", baseAddress);
Console.WriteLine("Press <Enter> to stop the service.");
Console.ReadLine();

...との行...

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());

...通常、Windows フォーム プロジェクトに含まれるもの。

于 2013-05-25T14:21:46.197 に答える
1

これを試して...

作成済みの WCF ライブラリの DLL ファイル参照を新しい Windows アプリケーション プロジェクトに追加し、ボタン クリックなどの任意のイベントで、次のコードを試します。

ServiceHost sh = new ServiceHost("http://localhost:9092/MyService")
sh.open();
于 2013-05-26T16:03:46.820 に答える