zoukankan      html  css  js  c++  java
  • WCF服务部署到IIS7.5

    WCF服务部署到IIS7.5

    2014-06-16

    为WCF服务创建.svc文件
    为WCF创建web.config文件
    将上述文件和程序集放到相应目录下
    为WCF服务创建WebSite
    参考

    前面介绍了如何 WCF注册Windows Service, 下面介绍如何把WCF服务部署到IIS:

    为WCF服务创建.svc文件


     返回

    我们知道,每一个ASP.NET Web服务都具有一个.asmx文本文件,客户端通过访问.asmx文件实现对相应Web服务的调用。与之类似,每个WCF服务也具有一个对应的文本文件,其文件扩展名为.svc。基于IIS的服务寄宿要求相应的WCF服务具有相应的.svc文件,.svc文件部署于IIS站点中,对WCF服务的调用体现在对.svc文件的访问上。

    .svc文件的内容很简单,仅仅包含一个ServiceHost指令(Directive),该指令具有一个必须的Service属性和一些可选的属性。所以最简单的.svc仅仅具有一个包含Service属性(该属性指明了相应的WCF服务的有效类型)的ServiceHost指令。CalculatorService对应的.svc如下所示,我们把该.svc放在Services项目的根目录下,并将文件命名为CalculatorService.svc。

    <%@ServiceHost Service="WcfServices.Services.CalculatorService"%>

    为WCF创建web.config文件


     返回

    这里的web.config文件的内容和WCF Service Configuration Editor的使用配置的app.config文件的内容相似,只是无须设置endpoint的address的值:

     1 <?xml version="1.0"?>
     2 <configuration>
     3   <system.serviceModel>    
     4     <behaviors>
     5       <serviceBehaviors>
     6         <behavior name="CalculatorBehavior">
     7           <serviceMetadata httpGetEnabled="true" />
     8         </behavior>
     9       </serviceBehaviors>
    10     </behaviors>
    11     <services>
    12       <service behaviorConfiguration="CalculatorBehavior" name="WcfServices.Services.CalculatorService">
    13         <endpoint address="" binding="basicHttpBinding"
    14           bindingConfiguration="" contract="WcfServices.Contracts.ICalculator" />
    15       </service>
    16     </services>    
    17   </system.serviceModel>
    18 </configuration>
    View Code

    将上述文件和程序集放到相应目录下


     返回

    创建一个文件夹,将上述文件和程序集放到想应目录下。这里,创建文件夹‘WCFService’,将文件‘CalculatorService.svc’,‘Web.config’放入。

    因为一个Web应用在运行的时候会默认从位于根目录下的Bin目录加载程序集,所以,程序集‘WcfServices.Contracts.dll’和‘WcfServices.Services.dll’ (程序集代码)放入子目录‘bin'下,如下图1:

    图1 WCFService目录结构

    为WCF服务创建WebSite


     返回 

    为WCF服务创建一个application pool, 设置Name="WCF", .NET Framework version = “.NET Framework version v4.0.30319”。如下图2:

     图2 创建WCF Application Pool

     更改WCF Application Pool的Identity,使之有权限访问WCFService目录,见测试授权。如下图3:

    图3 更改WCF Application Pool的Identity

    右键“Sites",选择选项”Add Web Site",为WCFSerivce创建Web Site,如下图4:

    设置Site name = "CalculatorWCFService",选择Application pool = "WCF" (就是上面建立的application pool),设置Physical path到相应目录,设置Port。

    图4 为WCFSerivce创建Web Site

    测试授权

    图5 测试授权

    浏览网页“CalculatorServices.svc” ,如下图6:

    图6 浏览网页“CalculatorServices.svc” 

    WCFService部署到IIS成功,如下图7:

    图7 WCFService部署到IIS成功


    参考:

    [1] 我的WCF之旅(1):创建一个简单的WCF程序  http://www.cnblogs.com/artech/archive/2007/02/26/656901.html
    [2] WCF部署到IIS7.5注意点  http://blog.csdn.net/fairyeye/article/details/6732584
    [3] IIS7 配置大全(ASP.NET 2.0, WCF, ASP.NET MVC,php) http://www.jb51.net/article/37829.htm

  • 相关阅读:
    C# 定时任务
    Web电子签集成开发笔记
    海康威视二次开发笔记
    SQL Server 2008R2创建自动备份计划
    图片上传及显示(包含多文件)
    程序员的孤独
    Iframe用法
    Bootstrap模态框(MVC)
    工作时发现的问题【组织管理】【客户对接】【项目流程】
    为啥有人觉得你写程序写得好,有人觉得你不称职
  • 原文地址:https://www.cnblogs.com/Ming8006/p/3791442.html
Copyright © 2011-2022 走看看