クラスのメソッドをUri[] baseAddresses
使用してサービスホストを作成するときに呼び出されるパラメーターがあります。CreateServiceHost
ServiceHostFactory
このメソッドはいつ呼び出されますか? baseaddresses 配列の値は? どこから設定されますか?
私たちの側から設定できますか?
ありがとう
クラスのメソッドをUri[] baseAddresses
使用してサービスホストを作成するときに呼び出されるパラメーターがあります。CreateServiceHost
ServiceHostFactory
このメソッドはいつ呼び出されますか? baseaddresses 配列の値は? どこから設定されますか?
私たちの側から設定できますか?
ありがとう
IISまたは別のコンテナーでサービスをホストする場合、サービスは(構成ファイルなどから)自動的に渡されます。
プログラムでサービスをホストしている場合は、サービスが渡されます。現在、メソッド自体に問題がありますが、標準クラスを使用すると、次のようになります(の配列が探しているものです)。CreateServiceHost
ServiceHost
Uri
using System;
using System.ServiceModel;
using System.ServiceModel.Description;
using MyApp.DatabaseService.Contracts; // IDatabase interface
using MyApp.DatabaseService.Impl; //DatabaseService
public class Program
{
static void Main(string[] args)
{
using (ServiceHost host = new ServiceHost(
typeof(DatabaseService),
new Uri[]{ // <-- baseAddresses
new Uri("http://localhost:8111/DatabaseService"),
new Uri("net.pipe://localhost/DatabaseService")
}))
{
host.AddServiceEndpoint(typeof(IDatabase),
new BasicHttpBinding(),
"");
host.AddServiceEndpoint(typeof(IDatabase),
new NetNamedPipeBinding(),
"");
// Add ability to browse through browser
ServiceMetadataBehavior meta = new ServiceMetadataBehavior();
meta.HttpGetEnabled = true;
host.Description.Behaviors.Add(meta);
host.Open();
Console.WriteLine("IDatabase: DatabaseService");
Console.WriteLine("Service Running. Press Enter to exit...");
Console.ReadLine();
host.Close();
}
}
}