[WCF 学习笔记] 11. 配置文件
来源:互联网 发布:mac外置触摸板 编辑:程序博客网 时间:2024/06/18 18:43
WCF 的配置文件并不复杂,相对于手工编写配置文件,我更倾向于使用 SDK 所附带的工具 —— "Service Configuration Editor"。使用这个工具,我们可以非常方便地创建或修改服务器和客户端的配置文件。
![uploads/200704/07_173348_wcfconfigeditor.gif](http://www.rainsts.net/uploads/200704/07_173348_wcfconfigeditor.gif)
WCF 配置文件基本元素:
<services>
<service>
<endpoint/>
</service>
</services>
<bindings>
<!-- Specify one or more of the system-provided binding elements,
for example, <basicHttpBinding> -->
<!-- Alternatively, <customBinding> elements. -->
<binding>
<!-- For example, a <BasicHttpBinding> element. -->
</binding>
</bindings>
<behaviors>
<!-- One or more of the system-provided or custom behavior elements. -->
<behavior>
<!-- For example, a <throttling> element. -->
</behavior>
</behaviors>
</system.ServiceModel>
WCF 的配置信息必须写在 App.config 或 Web.config 中,我觉得像 Remoting 那样可以使用单独的配置文件应该更好一些。现在的项目开发中,各种各样的组件都往 App.config 中写信息,感觉非常凌乱,不便于维护。
在编写服务器端配置文件时,记得添加 serviceMetadata Behaviors,否则我们无法使用 Svcutil.exe 或 VS2005 创建客户端代理文件。
以下配置文件的演示:
Server App.config
<configuration>
<system.serviceModel>
<services>
<service behaviorConfiguration="NewBehavior" name="Learn.Library.WCF.MyService">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/MyService" />
</baseAddresses>
</host>
<endpoint address="" binding="basicHttpBinding"
contract="Learn.Library.WCF.IContract" />
<endpoint address="mex" binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="NewBehavior">
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
Client App.config
<configuration>
<system.serviceModel>
<client>
<endpoint address="http://localhost:8080/MyService" binding="basicHttpBinding"
contract="ConsoleApplication1.localhost.ICalculate"
name="BasicHttpBinding_ICalculate" />
</client>
</system.serviceModel>
</configuration>
使用 VS2005 的 "Add Service Reference..." 功能时,会自动创建客户端代理文件和配置文件。
![uploads/200704/07_173540_wcfconfigeadd.gif](http://www.rainsts.net/uploads/200704/07_173540_wcfconfigeadd.gif)
--------------
Service Configuration Editor 使用方法 图文演示
1. 打开编辑器,创建新的配置文件。
![uploads/200704/10_104755_config002.gif](http://www.rainsts.net/uploads/200704/10_104755_config002.gif)
2. 创建新的服务设置。
![uploads/200704/10_104759_config003.gif](http://www.rainsts.net/uploads/200704/10_104759_config003.gif)
3. 手工输入,或使用 "Browser..." 选择服务所在程序集。
![uploads/200704/10_104804_config004.gif](http://www.rainsts.net/uploads/200704/10_104804_config004.gif)
4. 确认契约是否正确。
![uploads/200704/10_104808_config005.gif](http://www.rainsts.net/uploads/200704/10_104808_config005.gif)
5. 选择通讯方式。
![uploads/200704/10_104812_config006.gif](http://www.rainsts.net/uploads/200704/10_104812_config006.gif)
6. 选择操作方式。
![uploads/200704/10_104816_config007.gif](http://www.rainsts.net/uploads/200704/10_104816_config007.gif)
7. 将服务端点地址清空,不要理会提示。我们在后面使用 host 配置,这样便于日后调整路径。
![uploads/200704/10_104821_config008.gif](http://www.rainsts.net/uploads/200704/10_104821_config008.gif)
8. 完成服务设置。
![uploads/200704/10_104825_config009.gif](http://www.rainsts.net/uploads/200704/10_104825_config009.gif)
9. 查看服务设置。
![uploads/200704/10_104829_config010.gif](http://www.rainsts.net/uploads/200704/10_104829_config010.gif)
10. 添加服务行为设置。
![uploads/200704/10_104833_config011.gif](http://www.rainsts.net/uploads/200704/10_104833_config011.gif)
11. 添加 serviceMetadata,以便发布元数据。
![uploads/200704/10_104838_config013.gif](http://www.rainsts.net/uploads/200704/10_104838_config013.gif)
12. 将 HttpGetEnabled 置为 True。
![uploads/200704/10_104842_config014.gif](http://www.rainsts.net/uploads/200704/10_104842_config014.gif)
13. 修改服务行为设置。
![uploads/200704/10_104846_config016.gif](http://www.rainsts.net/uploads/200704/10_104846_config016.gif)
14. 在 Host 上添加一个 Base Address,这样其它相关地址可以全部使用局部路径,便于日后维护更改。
![uploads/200704/10_104851_config017.gif](http://www.rainsts.net/uploads/200704/10_104851_config017.gif)
15. 添加一个新的服务端点,用于配置 WS-MetadataExchange。(可选)
![uploads/200704/10_104855_config018.gif](http://www.rainsts.net/uploads/200704/10_104855_config018.gif)
16. 注意 MetadataExchange 的相关参数设置。
![uploads/200704/10_104859_config019.gif](http://www.rainsts.net/uploads/200704/10_104859_config019.gif)
17. 保存配置文件。
![uploads/200704/10_104905_config020.gif](http://www.rainsts.net/uploads/200704/10_104905_config020.gif)
18. 运行服务器,在浏览器中输入 Host Base Address,我们就可以看到服务页面了。
![uploads/200704/10_104909_config021.gif](http://www.rainsts.net/uploads/200704/10_104909_config021.gif)
19. 单击链接,查看 WSDL 信息。
![uploads/200704/10_104912_config022.gif](http://www.rainsts.net/uploads/200704/10_104912_config022.gif)
客户端的配置方式比较简单,不再演示。
- [WCF 学习笔记] 11. 配置文件
- [WCF 学习笔记] 11. 配置文件
- WCF配置文件笔记
- [WCF学习笔记] Endpoint
- [WCF学习笔记] Hosting
- [WCF学习笔记] Binding
- wcf学习笔记
- WCF学习笔记
- WCF学习笔记
- WCF学习笔记(一)
- WCF 学习笔记
- Wcf学习笔记
- WCF 学习笔记
- WCF学习笔记
- WCF学习笔记
- WCF学习笔记一
- WCF 学习笔记: ServiceHost
- WCF 学习笔记
- 基于TCP的网络通信程序演示[命令行程序]
- 学习J2ME编程需要掌握的七种技术
- J2ME学习
- [WCF 学习笔记] 10. 行为控制
- MIDP2.0手机上的手电筒程序(附代码)
- [WCF 学习笔记] 11. 配置文件
- j2me 扑克发牌算法实现
- ORACLE多表查询优化
- J2ME贪吃蛇源代码——200行左右,包含详细注释
- [WCF 学习笔记] 12. 宿主环境
- photon游戏引擎代码例子2
- J2ME游戏源代码免费下载——国外Digiment公司商业化代码
- 我的火车票哪去了??
- J2ME项目的一些经验