zoukankan      html  css  js  c++  java
  • zz部署wcf iis

    http://blog.csdn.net/jiankunking/article/details/44118911

    一、 环境vs2010,WCF应用程序,server 2008

    第一步:WCF项目右键点击项目,选择生成部署包,如下图:

    第二步:WCF项目上右键,选择:在windows资源管理器中打开文件夹,如下图:

    第三步:第二步:在你项目所在的文件目录下找到Package文件夹,这就是我们的部署包所在的地方。在这个package文件夹下面有一个packageTmp。

    第四步:在IIS上新建虚拟目录,将物理地址指向此文件夹。

    1、windows server 2008中没有自带Microsoft .NET Framework 4,因此需要在网上下载,手动安装,安装时右键选择管理员身份运行。

    下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=17718

    2、完成.NET Framework 4后,重启服务器

    3、在IIS上新建虚拟目录

    点击确定,完成

    4、第四部:部署结束。可以在浏览器中查看我们部署的WCF了。

    哈哈,结果。。。。

    这是应为默认的net版本不对,修改方式如下:

    修改后,右键浏览,效果如下:

    上图中的http://localhost/Test.svc?wsdl即为我们要引用的服务地址。

    注意:如果在别的机器上引用该机的WCF服务时,需要将localhost替换为该机的ip

    二、环境 win10 vs2015

    今天在本机搭载iis wcf的时候,遇到了以下问题:

    WCF HTTP 错误 404.3 - Not Found

            WCF 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。

            WCF 找不到类型“WcfServiceStudy.WcfService”,它在 ServiceHost 指令中提供为 Servi

              搭建的wcf是:WCF应用程序,具体代码如下:

            接口:

    [csharp] view plaincopy
     
    1. namespace WcfServiceStudy  
    2. {  
    3.     // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IWcfService”。  
    4.     [ServiceContract]  
    5.     public interface IWcfService  
    6.     {  
    7.         [OperationContract]  
    8.         string DoWork();  
    9.     }  
    10. }  

    实现:

    [csharp] view plaincopy
     
    1. namespace WcfServiceStudy  
    2. {  
    3.     // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“WcfService”。  
    4.     // 注意: 为了启动 WCF 测试客户端以测试此服务,请在解决方案资源管理器中选择 WcfService.svc 或 WcfService.svc.cs,然后开始调试。  
    5.     public class WcfService : IWcfService  
    6.     {  
    7.         public string DoWork()  
    8.         {  
    9.             return "hello world!";  
    10.         }  
    11.     }  
    12. }  

    配置文件如下:

    [html] view plaincopy
     
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <configuration>  
    3.   
    4.   <appSettings>  
    5.     <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />  
    6.   </appSettings>  
    7.   <system.web>  
    8.     <compilation debug="true" targetFramework="4.5.2" />  
    9.     <httpRuntime targetFramework="4.5.2"/>  
    10.   </system.web>  
    11.   <system.serviceModel>  
    12.   
    13.     <bindings>  
    14.       <basicHttpBinding>  
    15.         <binding maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" name="MyServiceBinding">  
    16.           <readerQuotas maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxDepth="2147483647" maxNameTableCharCount="2147483647" maxStringContentLength="2147483647" />  
    17.         </binding>  
    18.       </basicHttpBinding>  
    19.     </bindings>  
    20.     <services>  
    21.       <service name="WcfServiceStudy.WcfService">  
    22.         <endpoint address="Management" binding="basicHttpBinding" bindingConfiguration="MyServiceBinding" contract="WcfServiceStudy.IWcfService">  
    23.         </endpoint>  
    24.       </service>  
    25.     </services>  
    26.   
    27.   
    28.     <behaviors>  
    29.       <serviceBehaviors>  
    30.         <behavior>  
    31.           <!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false -->  
    32.           <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>  
    33.           <!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->  
    34.           <serviceDebug includeExceptionDetailInFaults="true"/>  
    35.         </behavior>  
    36.       </serviceBehaviors>  
    37.     </behaviors>  
    38.     <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />  
    39.     <protocolMapping>  
    40.       <add binding="basicHttpsBinding" scheme="https" />  
    41.     </protocolMapping>  
    42.   
    43.   </system.serviceModel>  
    44.   <system.webServer>  
    45.     <modules runAllManagedModulesForAllRequests="true"/>  
    46.     <!--  
    47.         若要在调试过程中浏览 Web 应用程序根目录,请将下面的值设置为 True。  
    48.         在部署之前将该值设置为 False 可避免泄露 Web 应用程序文件夹信息。  
    49.       -->  
    50.     <directoryBrowse enabled="true"/>  
    51.   </system.webServer>  
    52.   
    53. </configuration>  

    部署的步骤是:

    将WCF应用程序编译后的dll与config,分别放到对应位置

    但在iis中浏览的时候,遇到了上面的三个问题。

    根据自己的搭建步骤与问题解决,感觉问题出在:右键新建网站完成后。没有在自己新建的网站下添加应用程序,而是直接把网站的物理路径指向了自己新建的文件夹JianKunKingServices中。缺少了在网站下添加应用程序这一步,所有出现了一系列的问题,最后是通过把自己添加的文件夹JianKunKingServices转换为应用程序解决的。

  • 相关阅读:
    通过注册表选择文件默认打开方式
    oracle的imp和exp
    oracle 10g正则表达式 REGEXP_LIKE 用法
    oracle varchar 和varchar2的区别
    Oracle lower(Upper)函数|大小写|
    NC资金管理对外付款自动选上“网上支付”设置
    wmsys.wm_concat的几个用法
    GridView使用初步
    JavaScript学习笔记(一)—细节问题
    图片水印功能
  • 原文地址:https://www.cnblogs.com/liangouyang/p/4820722.html
Copyright © 2011-2022 走看看