C# WCF赢得';我不能在HTTPS上工作

C# WCF赢得';我不能在HTTPS上工作,c#,wcf,C#,Wcf,我看过所有其他的解决方案,但没有一个有效。我正在使用IIS托管WCF服务。以下是我的web.config(添加WCF服务时的默认设置): 运行此操作后,我得到以下异常: 没有可以接受消息的端点正在侦听。这通常是由不正确的地址或SOAP操作引起的。有关更多详细信息,请参阅InnerException(如果存在) 内部异常状态为: “远程服务器返回错误:(404)未找到。” 此服务在http上工作正常,但在https上失败。我怎样才能解决这个问题?请注意,我正在使用Windows控制台而不是通过AS

我看过所有其他的解决方案,但没有一个有效。我正在使用IIS托管WCF服务。以下是我的web.config(添加WCF服务时的默认设置):

运行此操作后,我得到以下异常:

没有可以接受消息的端点正在侦听。这通常是由不正确的地址或SOAP操作引起的。有关更多详细信息,请参阅InnerException(如果存在)

内部异常状态为:

“远程服务器返回错误:(404)未找到。”


此服务在http上工作正常,但在https上失败。我怎样才能解决这个问题?请注意,我正在使用Windows控制台而不是通过ASP.NET访问此服务;ASP.NET仅承载WCF服务。

请尝试设置httpsGetEnabled=“true”而不是httpGetEnabled

<system.serviceModel>
<behaviors>
  <serviceBehaviors>
    <behavior name="">
      <serviceMetadata httpsGetEnabled="true" />

编辑:我也很好奇,如果使用SSL,为什么选择BasicHttpBinding。为什么不使用WsHttpBinding呢

EDIT2:主机配置文件中是否缺少
节点?我不认为你可以创建一个没有客户的客户。您可以右键单击app.config文件并在那里进行配置。。。大概是这样的:

    <services>
        <service behaviorConfiguration="MyServiceBehavior" name="MyService">
            <endpoint address="" binding="defaultBasicHttpBinding" bindingConfiguration="basicBinding" contract="IMyService" />

        </service>
    </services>
    <behaviors> 
  <serviceBehaviors>
    <behavior name="MyServiceBehavior">


IIS中的绑定设置是什么?如果运行netmon,是否会看到尝试的SSL握手?我有3个绑定。“http domain.com 80*”-“http(blank)80 10.0.3.3”-“http www.domain.com 80*”-“https(blank)443 10.0.3.3”我不熟悉netmon。您是否在代码中的某个地方为主机创建绑定和ServiceEndpoint?如果是这样的话,你能把它也贴出来吗?我不是。我在代码中做的唯一一件事是
ExtClient client=newextclient(“BasicHttpBinding_IExt”,ServiceURL)其中ExtClient是对服务的引用,ServiceURL是我硬编码从注册表中获取的URL的地方。我仍然收到相同的错误,“在
https://www.domain.com/path/service.svc
可以接受该消息。这通常是由不正确的地址或SOAP操作引起的。有关更多详细信息,请参阅InnerException(如果存在)。“实际上,我从未选择BasicHttpBinding,而是自动创建的。我的知识是WCF的基础知识,因为我还在学习。你能发布你的整个主机配置文件吗?你说的主机配置文件是什么意思?那是你的整个web.config文件吗?是的。我刚开始创建这个网站,因此它的大小非常小。
public static String DoPing()
{
     ExtClient client = new ExtClient("BasicHttpBinding_IExt", "https://www.domain.com/path/service.svc");
     return client.DoPing();
}
<system.serviceModel>
<behaviors>
  <serviceBehaviors>
    <behavior name="">
      <serviceMetadata httpsGetEnabled="true" />
    <services>
        <service behaviorConfiguration="MyServiceBehavior" name="MyService">
            <endpoint address="" binding="defaultBasicHttpBinding" bindingConfiguration="basicBinding" contract="IMyService" />

        </service>
    </services>
    <behaviors> 
  <serviceBehaviors>
    <behavior name="MyServiceBehavior">