- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是第一次尝试 WCF,当我尝试实例化主机时出现以下错误:
这个集合已经包含一个方案为 http... 的地址
我发现了很多其他对此的引用,并尝试了一些解决方案无济于事。一个不适用于我的相当普遍的线索是问题出在某种网络服务器上。我只是在本地计算机上运行所有内容。
我发现一个有趣的现象是我正在开发一个 c# Forms 应用程序。最初我的顶级表单对象继承了我的服务接口(interface)而不是单独的服务类。当我以这种方式实现时,主机端没有错误,但我在客户端却遇到了麻烦。
基于这个解决方案: How to solve "The ChannelDispatcher is unable to open its IChannelListener" error?
...我决定将服务宿主分离成一个单独的对象。那是我开始看到问题的时候。
ServiceContract 非常简单:
[ServiceContract]
public interface ISSAService
{
[OperationContract]
void CreateSpaMonitor();
}
我像这样实例化服务:
Uri baseAddr = new Uri("http://localhost:8000/SSAService");
ServiceHost localHost = new ServiceHost(typeof(SSAService), baseAddr);
其中 SSAService 是服务接口(interface)的实现。
如果我将第二行更改为以下内容(并实现接口(interface)...),错误就会消失:
Uri baseAddr = new Uri("http://localhost:8000/SSAService");
ServiceHost localHost = new ServiceHost(typeof(SSAManager), baseAddr);
SSAManager 是我的顶级 Forms 类...
然后我遇到了一个客户端问题,这就是我开始的地方....
我试过更改端口号,但似乎没有任何影响。
我是 WCF 的新手,所以我可能遗漏了一些明显的东西。
谢谢。
最佳答案
我遇到了这个错误:
此集合已包含一个方案为 https 的地址。此集合中每个方案最多可以有一个地址。如果您的服务托管在 IIS 中,您可以通过将“system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled”设置为 true 或指定“system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters”来解决问题。参数名称:项目
我通过对我的 web.config 执行以下操作解决了这个问题。也许 .NET Framework 4 中发生了一些变化,需要这一行,因为我以前不需要它:
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
<!-- Rest of the system.serviceModel content omitted for brevity--->
<system.serviceModel>
关于c# - 在本地计算机上使用 WCF 获取错误 "This collection already contains an address with scheme http",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12790756/
我是一名优秀的程序员,十分优秀!