博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用IIS承载WCF服务
阅读量:6514 次
发布时间:2019-06-24

本文共 1490 字,大约阅读时间需要 4 分钟。

作者:jiankunking 出处:

1、WCF能够方便的通过IIS承载,此承载模型与ASP.NET和ASP.NET Web Service使用的模型相似。

2、WCF能够在以下操作系统上的IIS版本号上承载
  • Windows XP SP2上的IIS 5.1
  • Windows Server 2003上的IIS 6.0
  • Windows Server 2008或者Windows Vista或者Windows 7上的IIS 7.0
  • 以及IIS兴许版本号
小注:
3、在IIS 7.0中提供了一种新的承载服务方式即WAS(Windows Process Activation Service。Windows进程激活服务),使用WAS来承载WCF同意HTTP之外的协议进行激活和网络通信。此环境适合开发可通过WCF支持的不论什么网络协议(包括HTTP、net.tcp、net、.pipe和net.msmq)进行通信的WCF服务。

在WAS宿主中,能够使用WAS工作进程中的功能,如自己主动激活服务、健康监控和进程。

要使用WAS宿主,仅仅需创建一个Web网站和工个.svc文件,当中的ServiceHost声明包括服务类的语言和名称。

以下的代码使用 Service1类。另外,还必须指定包括服务类的文件。这个类的实现方式与定义WCF服务库的方式同样。 
<%@ ServiceHost Language="C#" Debug="true" Service="Service1" CodeBehind="Service1.svc.cs" %>
这不就是平时部署的.svc文件嘛偷笑
比如:
4、使用IIS承载的优点:
  • 能够向处理其它不论什么类型的IIS应用程序一样。部署和管理IIS中承载的WCF服务。

  • IIS提供进程激活、执行状态管理和回收功能以提高承载的应用程序的可靠性。
  • 像ASP.NET一样。ASP.NET中承载的WCF服务能够利用ASP.NET共享宿主模型,在此模型中,多个应用程序驻留在一个公共辅助进程中以提高server密度和可伸缩性。
  • IIS中承载的WCF服务与ASP.NET2.0使用同样的动态编译模型,该模型简化了承载服务的开发和部署。

  • IIS承载WCF服务时,IIS5.1和IIS6.0仅限于HTTP通信。
5、WCF详细写法及部署与IIS在此就不反复演示,详细案例能够參考:
小注:
1、个人感觉有了锤子就不是必需用手敲钉子了,所以搞WCF的时候,使用Visual Studio吧,不是必需用文本文件去创建svc等等的文件。

比方说client应用程序须要 一 个代理来訪问服务。给client创建代理就有3种方式 :
● Visual Studio加入服务引用 —— 这个有用程序会从服务的元数据中创建代理类。

● ServiceModel元数据有用工具svcutil.exe —— 使用svcutil有用程序能够创建代理类。

该有用程序从服务中读取元数据 ,以创建代理类。

● ChanneldFactory类 —— 这个类由svcutil有用程序生成的代理使用 ,然而,它也能够用于以编程方式创建代理。

        个人还是感觉 Visual Studio比較自己主动化一些偷笑
2、据说部署WCF,须要激活WCF HTTP激活组件。详细激活方式例如以下:
安装完毕后。能够在:IIS管理器----处理程序映射中看到:svc-Integrated 项,说明成功安装了
可是
有个问题就是。我部署WCF时候,么有激活这个服务。为啥WCF也能执行呢?希望有知道的朋友帮忙解答一下。谢谢。
你可能感兴趣的文章
go标准库的学习-runtime
查看>>
pytorch Debug —交互式调试工具Pdb (ipdb是增强版的pdb)-1-使用说明
查看>>
NodeJS学习之文件操作
查看>>
AJAX的get和post请求原生编写方法
查看>>
WebSocket 是什么原理?为什么可以实现持久连接
查看>>
Python自学笔记-logging模块详解
查看>>
Head First--设计模式
查看>>
iOS之CAGradientLayer属性简介和使用
查看>>
微信小程序UI组件、开发框架、实用库
查看>>
模块化Javascript代码的两种方式
查看>>
Money去哪了- 每日站立会议
查看>>
Python数据结构和算法学习笔记1
查看>>
正则之从dom字符串中提取url
查看>>
大数据——基础概念
查看>>
机器学习温和指南
查看>>
解决Geoserver请求跨域的几种思路,第二种思路用过
查看>>
最短路-Bellman-Ford算法
查看>>
Object 类有哪些方法
查看>>
oracle 将一个表复制到另外一个表里 .
查看>>
libcurl以get方式请求服务器端文件
查看>>