サービスにアクセスできるように、コンソールアプリケーションでサービスをラップするだけです。
- それを(あなたのサービスが
MyService
多分MysServiceConsoleHost
または一部ファクシミリ命名されている場合は)理にかなって何かに名前を付け、ソリューションの新しいコンソールアプリケーションプロジェクトを作成します。
- このプロジェクトには、サービスプロジェクトへの参照が含まれています。
using System;
using System.ServiceModel;
class Program
{
static String TITLE_TEXT = "MyService -- Console Host ({0})" + (System.Diagnostics.Debugger.IsAttached?" [DEBUG]":"");
static void Main(string[] args)
{
Console.Title = String.Format(TITLE_TEXT, "Not Running");
try
{
ServiceHost host = new ServiceHost(typeof(MyService));
Console.Title = String.Format(TITLE_TEXT, "Starting");
host.open();
Console.Title = String.Format(TITLE_TEXT, "Running");
Console.WriteLine("Service is started, press any key to exit.");
Console.ReadKey();
Console.Title = String.Format(TITLE_TEXT, "Closing");
host.close();
host = null;
Console.Title = String.Format(TITLE_TEXT, "Closed");
}
catch (Exception ex)
{
Console.Title = String.Format(TITLE_TEXT, "Exception");
Console.WriteLine("An error occured while running the host:");
Console.WriteLine(ex.Message);
Console.WriteLine();
Console.WriteLine(ex.StackTrace);
Console.ReadLine();
}
}
}
、それを実行し、必要に応じてMyService
のインスタンスを置き換えます。新しいプロジェクト(のProgram.cs)で
は、次のようなものを持っています。サービスのエンドポイント、実行するポートなどを指定する.configファイルがあることを確認してください。そして、誰でもあなたのサービスにアクセスできます。必要に応じて、ライブ通話中にサービスを通じてデバッグできます。
Webサービスには通常、default.htmではなく.asmxページがあります。明確にすることはできますか? – Victor