你的位置:首页 > 软件开发 > ASP.net > 【WCF】如何将WCF部署到远程服务器

【WCF】如何将WCF部署到远程服务器

发布时间:2016-09-05 22:00:03
一、前言 最近需要将自己写的WCF服务部署到远程服务器上,也就是公网上。宿主是IIS,在配置成功之前遇到了很多问题,问题如下: 1. WCF该怎么宿主在IIS上,为何会出现 400 Bad Request ...

【WCF】如何将WCF部署到远程服务器

一、前言

      最近需要将自己写的WCF服务部署到远程服务器上,也就是公网上。宿主是get='_blank'>IIS,在配置成功之前遇到了很多问题,问题如下:

      1. WCF该怎么宿主在IIS上,为何会出现 400 Bad Request

      2. 防火墙如何开放

      3. 为何我能在客户端引用服务,但是运行时依然提示Soap操作错误,404 Not Found

     

      那么接下来,我就告诉大家我走过的坑,也避免了百度上各种司机瞎带路。(网上好多其实是本地部署,Localhost谁都会,VS直接Debug都行)

 

二、准备阶段

     首先你要配置好的你的web.config,web.config的配置正确与否直接影响你WCF部署的成功与否。这里我可以提供一个我的例子,供大家参考:

 1 <?"1.0"?> 2 <configuration> 3  <appSettings/> 4  <connectionStrings/> 5  <system.web> 6   <compilation debug="true" targetFramework="4.0"/> 7   <!-- 8     通过 <authentication> 节,可以配置 9     ASP.NET 用于识别来访用户身份的10     安全验证模式。 11   -->12   <authentication mode="Windows"/>13   <!--14     如果在执行请求的过程中出现未处理的错误,15     则可以通过 <customErrors> 节 16     配置相应的处理步骤。具体来说,17     开发人员可以通过该节配置18     将取代错误堆栈跟踪显示的 HTML 错误页。19 20     <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">21     <error statusCode="403" redirect="NoAccess.htm" />22     <error statusCode="404" redirect="FileNotFound.htm" />23     </customErrors>24   -->25   <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>26  </system.web>27  <!-- 28    在 Internet 信息服务 7.0 下运行 ASP.NET AJAX 时 system.webServer 节29    是必需的。而对于早期版本的 IIS,此节并不是必需的。30  -->31  <system.webServer>32   <!--33     若要在调试过程中浏览 Web 应用程序根目录,请将下面的值设置为 True。34     在部署之前将该值设置为 False 可避免泄露 Web 应用程序文件夹信息。35    -->36   <directoryBrowse enabled="true"/>37  </system.webServer>38  <system.serviceModel>39 40   <bindings>41    <basicHttpBinding>42     <binding name="bindingConfig" closeTimeout="00:30:00" openTimeout="00:30:00"43      receiveTimeout="00:30:00" sendTimeout="00:30:00" hostNameComparisonMode="StrongWildcard"44      maxBufferPoolSize="2147483647"45      maxReceivedMessageSize="2147483647"46      maxBufferSize="2147483647"47      messageEncoding="Text">48      <security mode="None"/>49     </binding>50    </basicHttpBinding>51   </bindings>52   53      54   <services>55    <service behaviorConfiguration="BiChengUpdateService.Service1Behavior"56     name="BiChengUpdateService.UpdateService">57     <endpoint address="" binding="basicHttpBinding"58      bindingConfiguration="bindingConfig" name="Endpoint1" contract="BiChengUpdateService.IUpdateService" />59     <endpoint address="mex" binding="mexHttpBinding" name="Endpoint2"60      contract="IMetadataExchange" />61    </service>62   </services>63   <behaviors>64    <serviceBehaviors>65     <behavior name="BiChengUpdateService.Service1Behavior">66      <!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false -->67      <serviceMetadata httpGetEnabled="true"/>68      <!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->69      <serviceDebug includeExceptionDetailInFaults="false"/>70      <serviceThrottling maxConcurrentCalls="1000" maxConcurrentSessions="1000" maxConcurrentInstances="1000" />71     </behavior>72    </serviceBehaviors>73   </behaviors>74  <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 75  </system.serviceModel>76 </configuration>

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:【WCF】如何将WCF部署到远程服务器

关键词:wcf

wcf
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。