WCF 学习小结
来源:互联网 发布:有关大数据的毕业设计 编辑:程序博客网 时间:2024/05/16 18:33
以前学习过,但没有写什么总结,时间有限,只对今天的成果做下总结吧!
WCF起到的作用:
1 定位一个服务的位置;
2 提供寻址的辅助信息
3 标识服务的真实身份
WCF指定地址:
1 通过代码方式指定地址
using (ServiceHost host = new ServiceHost(typeof(CalculatorService)))
{
host.AddServiceEndpoint(typeof(ICalculator), new WSHttpBinding(), "http://127.0.0.1:9999/calculatorservice");
host.Open();
}
2 通过Config配置指定地址
<?xml version="1.0" encoding="utf-8"?><configuration>
<system.serviceModel>
<services>
<service name="Services.CalculatorService">
<endpoint address="http://127.0.0.1:9999/calculatorservice/" binding="basicHttpBinding"
bindingConfiguration="" contract="Contracts.ICalculator" />
</service>
</services>
</system.serviceModel>
</configuration>
3 IIS寄宿下对地址的指定
要点:必须创建一个.svc文件,并将该文件部署到一个确定的IIS虚拟目录下。
.svc文件配置内容
<%@ ServiceHost Service="Services.CalculatorService,Services" %>基地址与相对地址
除了以绝对路径对其进行设置服务的终结点外,还可通过“基地址+相对地址”的方式进行设置。一个服务可以指定一个或多个基地址,但是对于一种传输协议类型,只能具有一个唯一的基地址。服务的基地址和终结点的相对地址可以通过代码的方式进行指定。
由于指定的是相对地址,所以WCF系统会根据绑定采用的传输协议进行匹配基地址。相对地址和基地址组合确定终结点的绝对地址。
配置文件配置
如果采用了代码和配置的方式,两者都会生效,所以必须确保两者设置的内容不能相互冲突,如果一个基于HTTP的基地址通过配置和代码的方式加了两次,则报错。
服务契约:ServiceContract特性能够将接口(或类)公开为看向服务的契约,允许开发者使用如C#语言进行编辑,把类似于接口这样的语法结构公开为WCF契约和服务。
注: 基于WSDL的操作却不支持操作重载。
public interface ICalculator{
[OperationContract]
double Add(double x, double y);
[OperationContract]
int Add(int x, int y);
}
解决方式:进行手动指定OperationContract别名
public interface ICalculator 【错误】
{
[OperationContract(Name="AddDouble")]
double Add(double x, double y);
[OperationContract(Name="AddInt")]
int Add(int x, int y);
}
时间比较匆忙,也就回忆了下今天学习的东西,看起来有点凌乱,解释的也不详细。
记:以后有时间尽量写的详细些。
Fighting!
- WCF 学习小结
- WCF 小结
- wcf研究小结
- wcf简单使用小结
- WCF配置小结
- 【WCF】WCF框架学习
- 学习WCF
- WCF 学习
- WCF学习
- WCF学习
- WCF 学习
- 学习 WCF
- WCF 学习
- WCF学习
- WCF学习
- WCF 学习
- WCF学习
- 小结今天 Silverlight + WCF 收获
- CFileDialog
- Extjs4---Uncaught TypeError: Cannot call method 'hasOwnProperty' of undefined
- BNU- 12873 - Generations 线段树
- [cocos2d-x]Win32移植android
- android-整体UI设计-(滑动导航栏+滚动页面)
- WCF 学习小结
- 学习Fluent必备经验(转贴)
- Eclipse中SVN版本控制插件的安装和使用
- strurs2中jsp页面表单提交到action中文乱码问题
- C# 中的委托和事件
- 餐桌上的“爱心菜”
- etc/ld.so.conf的使用说明
- Error: Connection activation failed: Device not managed by NetworkManager
- java调用外部应用程序