C# WCF基址被App.config覆盖
今天我开始钻研WCF。我在一个学校开始学习教程C# WCF基址被App.config覆盖,c#,.net,wcf,C#,.net,Wcf,今天我开始钻研WCF。我在一个学校开始学习教程 我浏览了本教程,直到您托管服务主机为止。教程部分告诉我启动服务,然后导航到代码中指定的uri。当我这么做的时候,我的联系被拒绝了。经过一段时间的胡闹,我发现在app.config中,基址被指定为完全其他的东西。导航到该URI,后跟端点名称,将我带到我想去的地方。我不知道那个地址是怎么产生的,也不太在乎。我更感兴趣的是,当在服务上设置基本URI似乎没有任何效果,并且实际使用的基本URI来自app.config时,它的作用是什么。类型的构造函数需要它。
我浏览了本教程,直到您托管服务主机为止。教程部分告诉我启动服务,然后导航到代码中指定的uri。当我这么做的时候,我的联系被拒绝了。经过一段时间的胡闹,我发现在app.config中,基址被指定为完全其他的东西。导航到该URI,后跟端点名称,将我带到我想去的地方。我不知道那个地址是怎么产生的,也不太在乎。我更感兴趣的是,当在服务上设置基本URI似乎没有任何效果,并且实际使用的基本URI来自app.config时,它的作用是什么。类型的构造函数需要它。。。所以你会认为这很重要。有人能给我解释一下吗 如果仔细查看两个需要Uri的
ServiceHost
构造函数,Uri参数的前缀是params
在C#中,这意味着您可以传递任意数量的URI,包括零
如果要使用app.config的
如果没有配置,则传递类型或对象以及一些URI。然后WCF创建一个服务,该服务在所有URI上公开该服务的所有接口 例如,如果您的服务中有两个接口,并且您调用:
var host = new ServiceHost(typeof(HelloService),
"net.tcp://localhost:7000/service1",
"net.pipe://localhost:8000/service1",
"http://localhost:9000/service1");
您将获得2x3个暴露端点
大多数情况下,ServiceHost
都是在不提供地址的情况下构建的
配置是用XML创建的
关于我想知道这是否是在没有app.config的情况下发生的。看起来这就是你的意思。实际上,你可以从纯.net代码中进行所有配置,而不需要任何Xml。您还可以混合使用一些基本配置和一些动态配置的方法