WCF,这个地址是怎么来的?
[ServiceContract(Name="CalculatorService", Namespace="http://www.artech.com/")]
public interface ICalculator
{
...
}
这里的Namespace="http://www.artech.com/"是自己随便写的吗?
using (ServiceHost host = new ServiceHost(typeof(CalService), new Uri("http://127.0.0.1:8888")))
{
...
}
这里的"http://127.0.0.1:8888"是怎么来的呢?
------解决方案--------------------Namespace随便填写,就和项目定义的命名空间一个道理,没有特殊含义。
Uri为监听地址,一般用localhost+端口号,端口号为本机未使用的任意端口。
------解决方案--------------------
+1
客户端使用时,要将请求发送到监听地址。
这个Uri,在服务端和客户端是要保持一致的。相当于告诉你我家电话是多少,你有事情,拨打指定号码就ok了。
------解决方案--------------------127.0.0.1表示本机,8888表示端口,意思是你想调用WCF服务,就必须访问本机的8888端口,而你的WCF也要通过这个端口发送出去才能被别的程序调用
------解决方案--------------------你看的是蒋金兰的代码啊。
这个人写的WCF的书很不错。
------解决方案--------------------端口以宿主程序为主,例如你如果发布在IIS上那么端口也就是IIS中你定义的端口
------解决方案--------------------127.0.0.1表示本机访问,8888表示端口 你可以吧IP改成自己电脑的ip 端口随便改一个 然后别人要访问的话就用这个ip加端口号加服务名