WCF只有服务端响应

网友投稿 530 2022-11-14

WCF只有服务端响应

WCF只有服务端响应

wcf服务端

1,新建一个“windows窗体程序”名称为WCFServer1。

2,然后添加一个“WCF服务”名称为Service1。具体步骤为:解决方案试图中,选中“WCFServer1”项目,右键,在弹出菜单中选择“添加->新建项”。

3,双击主窗体,在它的Load事件中编写代码启动wcf服务:BasicHttpBinding方式启动wcf服务。此文件代码如下:

using

using

using

using

using

using

using

using

using

using

namespace{public partial class Form1 : Form {ServiceHost publicForm1() { InitializeComponent(); } privatevoid Form1_Load(objectsender, EventArgs {new ServiceHost(typeof(Service1));//Service1是wcf服务的类名称 //BasicHttpBinding方式启动wcf服务 ServiceMetadataBehaviormetadataBehavior;ServiceMetadataBehavior>();if(metadataBehavior == null) {new ServiceMetadataBehavior(); true; new Uri(string.Format(" m_ServiceHost.Description.Behaviors.Add(metadataBehavior); }else { true; new Uri(string.Format(" } m_ServiceHost.Open(); } privatevoid FormService_FormClosing(object sender, FormClosingEventArgse) {if(m_ServiceHost != null) { m_ServiceHost.Close();null; } } }}

4,在 IService1.cs中增加一个方法GetSvrTime

using

using

using

using

using

using

namespace

{

// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IService1”。ServiceContract]public interface IService1 {OperationContract]voidDoWork(); OperationContract]stringGetSvrTime(); }}

5, 在Service1.cs中实现接口的方法GetSvrTime,获取服务器时间

using

using

using

using

using

using

namespace{// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的类名“Service1”。public class Service1 : IService1 {public void { } public string {returnDateTime.Now.ToString(); } }}

第二步:WCF客户端

1,新建一个“windows窗体程序”命名为WCFClient1。

3,主窗体上增加一个按钮,双击此按钮添加响应事件。

using

using

//... private voidbutton1_Click(object sender, EventArgs {//basicHttpBinding绑定方式的通讯单工 Service1Clienthost = new ServiceReference1.Service1Client();stringhtime = host.GetSvrTime();//调用GetSvrTime获取到wcf服务器上的时间 MessageBox.Show("basicHttpBinding" + "@" //NetTcpBinding绑定方式的通讯双工 IService1m_Innerclient;ChannelFactory m_ChannelFactory;NetTcpBindingbinding = new NetTcpBinding();UribaseAddress = new Uri("net.tcp://localhost:10085/WCFHostServer/Service1");new ChannelFactory(binding, newEndpointAddress(baseAddress)); m_Innerclient =m_ChannelFactory.CreateChannel();stringhtime1 = m_Innerclient.GetSvrTime();//调用GetSvrTime获取到wcf服务器上的时间 MessageBox.Show("NetTcpBinding" + "@" }

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:springboot 项目启动后无日志输出直接结束的解决
下一篇:IDEA创建Maven项目一直显示正在加载的问题及解决
相关文章

 发表评论

暂时没有评论,来抢沙发吧~