WCF(三)IIS寄宿
WCF常用的一种使用方式是寄宿在IIS中。
IIS寄宿操作流程如下:
1、创建IIS物理路径对应的文件夹,文件夹名称是WCFIIS。
2、在WCFIIS文件夹中添加文本文件,在文本文件中写入<%@ ServiceHost Service="WCFService.Calculate" %>。Service名称是WCF契约服务的实现类,采用命名空间+类名的方式。
3、将文本文件的.txt后缀名称改为.svc,文件名可以随便起。
4、在WCFIIS文件夹中新建App_Code文件夹,将实现服务契约所需的类文件、接口文件、放入App_Code文件夹中。或者创建bin文件夹,将用到的.dll文件拷贝到bin文件夹中。
5、在WCFIIS文件夹中创建文本文件,将服务端App.config中<system.serviceModel></system.serviceModel>节点之间的内容拷贝到文本文件中
6、将新创建的文本文件名称和后缀名改为web.config,这个是固定的名称和后缀名,不能随便更改。
7、在IIS中选中创建的站点,在内容视图中,选中.svc文件,右键浏览,如果能出现对应的服务页面,表示创建成功。
截图:
IIS物理文件
App_Code文件
Service.svc文件:
web.config文件
IIS中WCF服务创建成功页面:
---------------------------
客户端开发(Web开发)
1、创建MVC站点。
2、打开“VS开发人员命令提示”窗口,定位到Web站点所在的文件夹,在窗口中打上svcutil http://localhost/WCFIIS/Service.svc?wsdl 这段话,就是创建成功后,页面提示的调用方式(也可以直接使用“引用服务”操作,由VS直接执行生成命名空间和修改web.config文件操作,这样可以省略第3步,直接进入代码编写环节)。
3、执行成功后,web站点会产生一个output.config和一个.cs做后缀的文件。把output.config文件中的信息,拷贝到站点的web.config中即可,产生的这两个文件需要进行“文件包含在项目”中操作。
4、在控制器里面写个方法,并创建对应的视图。
public ActionResult WCFView()
{
int a1 = 0;
int a2 = 0;
using (ChannelFactory<ICalculate> channelFactory = new ChannelFactory<ICalculate>("WSHttpBinding_ICalculate"))
{
ICalculate proxy = channelFactory.CreateChannel();
using (proxy as IDisposable)
{
a1 = proxy.Add(2, 4);
a2 = proxy.Subtract();
}
} return Content(a1.ToString() + ","+a2.ToString());
}
客户端配置信息(web.config)
客户端运行结果:
最新文章
- 如果空间不够的话,iOS发生这样的错误
- Hadoop平台常用配置及优化建议
- 组合 z
- 在VB中利用Nuget包使用SQLite数据库和Linq to SQLite
- Java语言速览:StackOverflow
- 【VS2015正式版下载】Visual Studio 2015 正式版开放下载 Visual Studio 2015 神key
- linux 使用sudo开放普通用户权限
- 询url包括字符串参数(js高度注意事项)
- MFC滚动条实现要点
- 《C++ Primer》之重载操作符与转换(中)
- MySQL创建数据库与创建用户以及授权
- [Swift]LeetCode37. 解数独 | Sudoku Solver
- React-typescript-antd 常见问题
- Java并发之volatile二
- Stable Match
- zabbix中Templates的jmx相关key调试方法
- .NET:CLR via C#:Runtime Serialization
- openfire搭建spackweb在线即时聊天
- 20155204 2016-2017-2 《Java程序设计》第9周学习总结
- [吴恩达机器学习笔记]12支持向量机2 SVM的正则化参数和决策间距