WCF 更改基地址

WCF Change baseAddress

WCF 的新手,使用 WCF 服务库项目模板在 VS2017 中做一个简单的项目。将项目命名为 MyBlahService 并创建它。不喜欢默认文件名 Service1.cs 和 IService.cs 所以我在解决方案资源管理器中重命名它们。这会导致 IService1 接口和 Service1 class 的一些自动重命名。 运行 从 VS 启动了 WCF 服务主机和 WCF 测试客户端,一切似乎都正常。在 App.config 中四处寻找,我看到一个使用 'Service1' 的条目,如下所示,并将其更改为下面的第二个条目。

是:

    <baseAddresses>
      <add baseAddress="http://localhost:8733/Design_Time_Addresses/MyBlahService/Service1/" />
    </baseAddresses>

现在:

    <baseAddresses>
      <add baseAddress="http://localhost:8733/Design_Time_Addresses/MyBlahService/MyBlahSvc/" />
    </baseAddresses>

此更改中断了服务,直到我返回到 Service1。我阅读了所有其他似乎相关的帖子并注意到人们进行了类似的更改,但他们没有解释他们是如何做到的。我对项目中的所有文件进行了 'grep',但没有找到 'Service1' 的任何其他出现,所以如何使用 'Service1' 以外的任何东西对我来说真是个谜。有帮助吗?

这与baseAddress无关。重命名IService1和Service1时,还需要修改配置文件中的服务名合同

这是我的演示:

我把IService1改成了ITest,我需要修改配置文件里的contract

将 Service1 更改为测试:

如果问题仍然存在,请随时告诉我。

更新

Baseaddress可以随意设置:

<add baseAddress="http://localhost:8733/Test" />

<add baseAddress="http://localhost:8733/Test/Test" />

......

我接受丁鹏的回答,因为他付出的努力帮助我解决了问题。关于指定端口的 Design_Time_Addresses and/or 有一些 'magic'。如果你把这两个都去掉,你可以很容易地输入其他地址。