WCF的两个uri的区别

来源:互联网 发布:windows 10 更改键盘 编辑:程序博客网 时间:2024/05/16 17:17
static void Main(string[] args)         {             ServiceHost host = new ServiceHost(typeof(HelloWorld), new             Uri("http://localhost:8080/HelloService"));             host.AddServiceEndpoint(typeof(IHello), new BasicHttpBinding(),"Svc");             //host.AddServiceEndpoint(typeof(IHello), new WebHttpBinding(), "Svc");                         if (host.Description.Behaviors.Find<ServiceMetadataBehavior>() == null)             {                  ServiceMetadataBehavior behavior = new ServiceMetadataBehavior();                    behavior.HttpGetEnabled = true;                    behavior.HttpGetUrl = new Uri("http://localhost:8080/HelloService/metadata");                    host.Description.Behaviors.Add(behavior);             }             host.Open();             Console.WriteLine("Start Your Service.");             Console.ReadKey();             host.Close();         }

菜狗一个,就这里的俩URI都看了一天,都不知道是不是这样。对于第一个
http://localhost:8080/HelloService
这个是在客户端连接的时候在代码里使用的。
ServiceEndpoint httpEndPoint = new             ServiceEndpoint(ContractDescription.GetContract(typeof(IHello)), new                            BasicHttpBinding(), new EndpointAddress("http://localhost:8080/HelloService/Svc"));

而第二个

http://localhost:8080/HelloService/metadata

则是该服务的一个WSDL地址,直接在浏览器里输入既可以看到效果。

我在网上好多博客里看见有人说输入第一个既可以出现效果,经过实际测试,只有第二个才可以。


个人第一次在csdn发东西,也不知道对不对。

0 0
原创粉丝点击