using (ServiceHost serviceHost = new ServiceHost(typeof(MagicEightBallService)))
{
serviceHost.Open();
DispplayHostInfo(serviceHost);
Console.WriteLine("The Service is ready");
Console.WriteLine("Press the Enter key to teminate the service");
Console.ReadLine();
}
----显示信息的方法:
static void DispplayHostInfo(ServiceHost host)
{
Console.WriteLine();
Console.WriteLine("*****Host Info******");
Console.WriteLine("Name->{0}", host.Description.ConfigurationName);
Console.WriteLine("Port->{0}", host.BaseAddresses[0].Port);
Console.WriteLine("LocalPath->{0}", host.BaseAddresses[0].LocalPath);
Console.WriteLine("Uri->{0}", host.BaseAddresses[0].AbsoluteUri);
Console.WriteLine("Scheme->{0}", host.BaseAddresses[0].Scheme);
Console.WriteLine("***************");
Console.WriteLine();
}
serviceHost.Open();之后,按说BaseAddresses应该至少有一条数据的,但BaseAddresses[0]=null,为什么?
我的配置文件,没有什么问题啊:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<service name="MagicEightBallServiceLib.MagicEightBallService">
<endpoint address="http://localhost:9876/MagicEightBallService" binding="basicHttpBinding" contract="MagicEightBallServiceLib.IEightBall"/>
</service>
</services>
</system.serviceModel>
</configuration>
数组索引超出范围,调试了下原来是BaseAddresses[0]=null,( BaseAddresses.count=0)就是没有得到任何地址