有我试图在带有 SSL 的 IIS 7 中托管的 WCF REST 服务。只要我们不在 IIS 中启用 SSL,一切正常。
只要我在 IIS 中启用 SSL 并将配置文件更新为 . 然后我在 IE 中浏览服务。我得到了错误的打击。
绑定实例已关联到侦听 URI“ https://machinename.mydomain.com/Service1/ ”。如果两个端点想要共享同一个 ListenUri,它们也必须共享同一个绑定对象实例。两个冲突的端点要么在 AddServiceEndpoint() 调用中指定,要么在配置文件中指定,要么在 AddServiceEndpoint() 和 config 的组合中指定。
这是配置文件中的服务设置。
<system.serviceModel>
<services>
<service name="ServiceGateway.Service1">
<endpoint address=""
contract="MyDomain.Services.ServiceGateway.Servie1"
binding="webHttpBinding" />
</service>
</services>
<bindings>
<webHttpBinding>
<binding>
<security mode="Transport"/>
</binding>
</webHttpBinding>
</bindings>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<standardEndpoints>
<webHttpEndpoint>
<standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true"/>
</webHttpEndpoint>
</standardEndpoints>
</system.serviceModel>
这是在 Global.asax 文件中启动时执行的代码
public class Global : HttpApplication
{
public void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.Add(new ServiceRoute(string.Empty,
new WebServiceHostFactory(),
typeof(Service1)));
}
}