Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax 如果HTTP工作正常,我是否需要做一些特殊的事情使WCF调用在HTTPS上工作?_Ajax_Https_Wcf_Webhttpbinding - Fatal编程技术网

Ajax 如果HTTP工作正常,我是否需要做一些特殊的事情使WCF调用在HTTPS上工作?

Ajax 如果HTTP工作正常,我是否需要做一些特殊的事情使WCF调用在HTTPS上工作?,ajax,https,wcf,webhttpbinding,Ajax,Https,Wcf,Webhttpbinding,我有两个版本的相同的概念验证网站:不安全的版本: 以及安全版本: 我的问题是,我基于WCF的web服务似乎无法在HTTPS下工作。我有没有什么遗漏,或者不明白的地方?我认为SVC文件的相对URL可以覆盖所有内容 <asp:ScriptManager ID="ScriptManager1" runat="server" > <Services> <asp:ServiceReference Path="~/Services/Contacts.

我有两个版本的相同的概念验证网站:不安全的版本:

以及安全版本:

我的问题是,我基于WCF的web服务似乎无法在HTTPS下工作。我有没有什么遗漏,或者不明白的地方?我认为SVC文件的相对URL可以覆盖所有内容

<asp:ScriptManager ID="ScriptManager1" runat="server" >
    <Services>
        <asp:ServiceReference Path="~/Services/Contacts.svc" />
        <asp:ServiceReference Path="~/Services/Domains.svc" />
        <asp:ServiceReference Path="~/Services/TreeViewNavigation.asmx" />
        <asp:ServiceReference Path="/Services/FullSoaSchedulerService.svc/json" />
    </Services>
</asp:ScriptManager>

也许我需要为Web服务添加一个额外的绑定,以便在HTTPS上工作

<service name="LC.www.nexthop.mx.POC.grid_WebService.Domains">
        <endpoint address="" behaviorConfiguration="LC.www.nexthop.mx.POC.grid_WebService.DomainsAspNetAjaxBehavior"
          binding="webHttpBinding" contract="LC.www.nexthop.mx.POC.grid_WebService.Domains" />
      </service>

您希望通过将绑定的安全模式设置为传输,将自定义绑定添加到配置中,以启用HTTPS

 <bindings>
   <webHttpBinding>
     <binding name="httpsBinding">
       <security mode="Transport">
       </security>
     </binding>
   </webHttpBinding>
 </bindings>
当我第一次遇到这种情况时,这帮助了我


希望这有帮助

很高兴它对你有用。是的,一开始我也很困惑。我希望它不是那么不直观(对我来说一点也不直观:)。需要记住的是,您的开发环境可能不是HTTPS,因此您需要更改开发人员的安全模式。我有一个构建过程来处理这个问题(开发人员没有安全性,QA/PROD传输)。如果我想在SSL和非SSL中都实现这一点
<service name="LC.www.nexthop.mx.POC.grid_WebService.Domains">
        <endpoint address="" behaviorConfiguration="LC.www.nexthop.mx.POC.grid_WebService.DomainsAspNetAjaxBehavior"
          binding="webHttpBinding" bindingConfiguration="httpsBinding" contract="LC.www.nexthop.mx.POC.grid_WebService.Domains" />
</service>