首页 > 其他分享 >WCF Bindings Needed For HTTPS

WCF Bindings Needed For HTTPS

时间:2024-09-11 17:15:31浏览次数:7  
标签:HTTPS 绑定 Needed https WCF Bindings address

原文地址:https://weblogs.asp.net/srkirkland/wcf-bindings-needed-for-https

我刚刚完成了我的第一个 WCF 应用,它在我的开发机上顺利工作,直到我将它部署到产品环境下。所有的 WCF 服务突然都不工作了。我得到的是一个 javaScript 错误 TestService is not defined

当我深入查看 JS 服务引用的时候,我得到这样的一个错误:

Could not find a base address that matches scheme http for the endpoint with binding WebHttpBinding. Registered base address schemes are [https]

所以,我的 WCF 服务将它自身注册为 HTTPS (因为它基于 SSL),但是我仅仅为 HTTP 配置了绑定。解决方案是在你的 web.config 中定义一个订制的支持 HTTPS 的 webHttpbinding 绑定,它的安全模式配置为 Transport。然后你需要在你的端点定义中使用 bindingConfiguration 指向你的订制绑定。

第一步,定义一个支持 HTTPS 的绑定,它的安全模式配置为传输层控制,绑定的名称为 webBinding

<bindings>
   <webHttpBinding>
     <binding name="webBinding">
       <security mode="Transport">
       </security>
     </binding>
   </webHttpBinding>
 </bindings>

然后,在 service 上使用该绑定,

<service name="TestService">
  <endpoint address="" behaviorConfiguration="TestServiceAspNetAjaxBehavior"
   binding="webHttpBinding" bindingConfiguration="webBinding" contract="TestService" />
 </service>

完整的支持 HTTPS 的 system.serviceModel 配置节如下所示:

<system.serviceModel>
<behaviors>    
 <endpointBehaviors>
  <behavior name="TestServiceAspNetAjaxBehavior">
   <enableWebScript />
  </behavior>
 </endpointBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<services>
 <service name="TestService">
  <endpoint address="" behaviorConfiguration="TestServiceAspNetAjaxBehavior"
   binding="webHttpBinding" bindingConfiguration="webBinding" contract="TestService" />
 </service>
</services>
 <bindings>
   <webHttpBinding>
     <binding name="webBinding">
       <security mode="Transport">
       </security>
     </binding>
   </webHttpBinding>
 </bindings>
</system.serviceModel>

希望能够帮助遇到类似问题的朋友。

标签:HTTPS,绑定,Needed,https,WCF,Bindings,address
From: https://www.cnblogs.com/haogj/p/18406314

相关文章

  • HTTPS执行过程
    HTTPS(超文本传输安全协议)是HTTP(超文本传输协议)的安全版本,它使用SSL/TLS协议来加密HTTP通信,从而确保数据的安全传输。下面将详细介绍HTTPS的工作流程:HTTPS的工作流程客户端发起请求:用户在浏览器中输入一个HTTPSURL(如https://example.com)。浏览器向服务器发送一个TCPSYN包......
  • docker Get "https://registry-1.docker.io/v2/": x509: certificate is valid for
    前言docker在进行build时,报错:Get"https://registry-1.docker.io/v2/":x509:certificateisvalidfor问题原因:Docker客户端无法验证DockerHub服务器的SSL/TLS证书解决在/etc/docker/daemon.json中新增国内镜像源:"registry-mirrors":["https:/......
  • HTTPS证书如何申请?只需这五个步骤
    在当今互联网+时代,保护用户的敏感数据和隐私变得越来越重要,HTTPS证书可以加密传输数据,有效保护传输数据安全,消除浏览器不安全提示,增加网站的安全性和可信性,由此个人或企业网站都建议部署HTTPS证书。那么我们应该如何申请HTTPS证书呢?在本文中,我们将向您介绍5个简单的步骤,让您轻......
  • crontab on raspberry pi, full path, not relative path, is needed.
    Sources: https://forums.raspberrypi.com/viewtopic.php?t=296993 thanksthagrol,thanksRaTTuS,youareright.Igetwrong.10****reboot->isnotrebootin10min.Itisnexthouratminute10reboot*/10****reboot->itisrebbotin10minB......
  • SpringBoot异步任务获取HttpServletRequest
    在SpringBoot应用中,异步任务的实现通常通过 @Async注解来实现,它允许我们在后台线程中执行方法,从而提高了应用的性能和响应速度。然而,当我们在异步任务中需要访问 HttpServletRequest对象时,我们会遇到一些挑战,因为 HttpServletRequest是线程绑定的,而异步任务是在不同的线程......
  • 非官方python二进制包 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 替代
    前两年的时候,由于偶尔会使用LFD中的二进制python包,但是下载地址都是加密的,不能直接给pip使用,因此为了方便自己把地址解密后做了一个目录页,并自动更新。今天看了一下页面发现包的更新时间都是前两年的,以为是自动更新程序出问题了,一番求证后发现原来是LFD的服务关闭了,幸好只关闭了......
  • 解决Android Studio不能下载Gradle的教程Could not install Gradle distribution from
    在使用AndroidStudio时,经常会碰到与Gradle相关的问题,其中一个较为常见的情况就是在加载Gradle的时候,无论是第一次下载Gradle还是导入Gradle,都可能会遭遇报错。尤其是在下载过程中,一旦遇到网络问题,就很容易导致下载超时而报错,给开发者带来极大的困扰。带来两个解决AndroidS......
  • thinkjs + puppeteer=解决中文乱码+https错误
    asyncindexAction(){constself=this;constbrowser=awaitpuppeteer.launch({headless:true,ignoreHTTPSErrors:true,args:['--no-sandbox','--disable-setuid-sandbox']});constpage=awaitbrowser.newPage();/......
  • 简单比较 http https http2,我们要如何把http升级为https
    ......
  • 什么是网站的HTTPS证书?如何为网站配置HTTPS证书?
    随着电子商务、在线银行和个人数据存储等活动的普及,保护数据传输的安全性变得尤为关键。HTTPS协议正是为了应对这一挑战而设计的,它通过SSL/TLS证书来确保数据传输的安全性和网站的可信度。本文将详细介绍HTTPS证书的作用以及如何为您的网站添加这种证书。HTTPS证书的重要性HTTPS(全......