WCF(二) 使用配置文件实现WCF应用程序
服务三要素ABC
A:Address 在哪里 (包含传输方式的信息)
B:Binding 怎么实现(与地址的传输方式要匹配)
C:Contract做什么(服务契约)
namespace WCFServiceDemo { [ServiceContract] public interface IHelloService { [OperationContract] DateTime GetDateTime(); [OperationContract] DataTable GetUserInfo(); } }
继承接口
class HelloService:IHelloService { public DateTime GetDateTime() { return DateTime.Now; } public DataTable GetUserInfo() { string connstring = @"Data Source=WIN7U-20130122R\SQLEXPRESS;Initial Catalog=TCEKT;Persist Security Info=True;User ID=sa"; SqlConnection conn = new SqlConnection(connstring); SqlDataAdapter sda=new SqlDataAdapter("select * from User",conn); DataTable dt = new DataTable(); sda.Fill(dt); return dt; } }
Winfom调用
public partial class Form1 : Form { public Form1() { InitializeComponent(); } ServiceHost host = null; private void button1_Click(object sender, EventArgs e) { host = new ServiceHost(typeof(WinformHello.HelloService)); host.Open(); label1.Text = "服务已启动!"; } }
配置文件App.config
<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> <!--WCF--> <system.serviceModel> <services> <service name="WinformHello.HelloService" behaviorConfiguration="testBehavior"><!--name:指实现服务契约的类--> <host> <baseAddresses> <add baseAddress="http://localhost:8001/Hello"/> </baseAddresses> </host> <endpoint address="" binding="basicHttpBinding" contract="WCFServiceDemo.IHelloService"> </endpoint> </service> </services> <behaviors> <serviceBehaviors> <behavior name="testBehavior"> <serviceMetadata httpGetEnabled="true"/><!--允许访问wcf服务--> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel> </configuration>
启动:
因win7安全性问题,如果启动不了 vs2012 右键
如果启动成功
在app.config文件中找到
<baseAddresses>
<add baseAddress="http://localhost:8001/Hello"/>
</baseAddresses>
Ctrl键+左击单击
OK 成功……
--学云网Tiger老师的视频
作者:PEPE
出处:http://pepe.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
2012-09-05 Objective-C 日记⑧ 对象初始化