读书人

WCF请问一下终结点的地址有关问题

发布时间: 2014-01-17 00:06:00 作者: rapoo

WCF,请教一下终结点的地址问题?
最近在学习WCF,在网上看到一个示例,其中一段是用控制台应用程序来承载WCF服务的代码。如下:


class Program
{
static void Main(string[] args)
{
//创建一个URI对象,用来保存服务的基址
Uri baseAddress = new Uri("http://localhost:8000/MyService");
//创建一个ServiceHost对象。也就是服务主机
ServiceHost selfHost = new ServiceHost(typeof(MyService), baseAddress);
try
{
//添加一个服务终结点
selfHost.AddServiceEndpoint(typeof(IService), new WSHttpBinding(), "MyService");
//启用元数据交换
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
selfHost.Description.Behaviors.Add(smb);
//启动服务
selfHost.Open();
Console.WriteLine("服务已准备就绪");
Console.WriteLine("按下回车键以终止服务");
Console.WriteLine();
Console.ReadLine();
//关闭ServiceHostBase以关闭服务
selfHost.Close();
}
catch (CommunicationException ce)
{
Console.WriteLine("异常:{0}", ce.Message);
selfHost.Abort();
}
}
}


问题:
1:服务的基址和终结点地址有什么不一样的吗?
2:这里的终结点地址怎么是MyService呢?MyService是地址吗?
[解决办法]
基地址用来指明相对地址的起始部分,如果后面定义终结点地址用的是绝对地址,那么基地址不设置也没关系,你这里是设置的相对地址,因此实际的终结点地址是基地址+相对地址后的地址

读书人网 >C#

热点推荐