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;
                }
            }
        }
    }
  • 相关阅读:
    iOS8 定位补充
    iOS系统导航/自绘制导航路线
    自定义大头针
    添加大头针
    iOS 地图
    iOS 定位
    UISearchBar
    NSPredicate谓词
    iOS的设备及分辨率、图片命名
    UIImageView、UISlider、UISwitch、UIStepper、UISegmentControl
  • 原文地址:https://www.cnblogs.com/wzq806341010/p/3603651.html
Copyright © 2011-2022 走看看