zoukankan      html  css  js  c++  java
  • WCF客户端代理

    • 创建类库WCFServiceProxy
    • 添加System.ServiceModel、WCFService(见上篇文章)引用
    • 创建类:BookServiceClient
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.ServiceModel;
    using System.ServiceModel.Channels;
    using System.Text;
    using System.Threading.Tasks;
    using WCFService;
    using WCFService.Models;
    
    namespace WCFServiceProxy
    {
        public class BookServiceClient : ClientBase<IBookService>, IBookService
        {
            public BookServiceClient() : base() { }
            public BookServiceClient(string endpointConfigurationName) : base(endpointConfigurationName) { }
            public BookServiceClient(string endpointConfigurationName, string remoteAddress) : base(endpointConfigurationName, remoteAddress) { }
            public BookServiceClient(string endpointConfigurationName, EndpointAddress remoteAddress) : base(endpointConfigurationName, remoteAddress) { }
            public BookServiceClient(Binding binding, EndpointAddress remoteAddress) : base(binding, remoteAddress) { }
            public bool Add(string name, double price)
            {
                return base.Channel.Add(name, price);
            }
    
            public List<Book> GetList()
            {
                return base.Channel.GetList();
            }
        }
    }

    创建类BookServiceProxy

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.ServiceModel;
    using System.Text;
    using System.Threading.Tasks;
    using WCFService.Models;
    
    namespace WCFServiceProxy
    {
        public static class BookServiceProxy
        {
            private static string _clientEndpointName = "bookInfo";
            static List<Book> list = new List<Book>();
            public static bool Add(string name, double price)
            {
                BookServiceClient client = null;
                try
                {
                    client = new BookServiceClient(_clientEndpointName);
                    client.Add(name, price);
                    client.Close();
                    return true;
                }
                catch (Exception ex)
                {
                    if (client != null && client.State != CommunicationState.Closed)
                    {
                        client.Abort();
                        client = null;
                    }
                    return false;
                }
                finally
                {
                    client = null;
                }
            }
    
            public static List<Book> GetList()
            {
                BookServiceClient client = null;
                try
                {
                    client = new BookServiceClient(_clientEndpointName);
                    list = client.GetList();
                    client.Close();
                    return list;
                }
                catch (Exception ex)
                {
                    if (client != null && client.State != CommunicationState.Closed)
                    {
                        client.Abort();
                        client = null;
                    }
                    return null;
                }
                finally
                {
                    client = null;
                }
            }
        }
    }
  • 相关阅读:
    jquery.validate ajax提交
    linux权限不够,sh不能用
    几个简单的基类
    类型转换辅助工具类TypeCaseHelper
    linux下修改tomcat内存大小
    Hibernate,JPA注解@OneToMany_Map
    Hibernate,JPA注解@OneToMany_Set
    Hibernate,JPA注解@PrimaryKeyJoinColumn
    Hibernate,JPA注解@OneToOne_JoinColumn
    Hibernate,JPA注解@SecondaryTables
  • 原文地址:https://www.cnblogs.com/wzq806341010/p/3603651.html
Copyright © 2011-2022 走看看