WCF交互图片

-------interface-------------

 [ServiceContract]
    public interface ICarManagement
    {
       
        [OperationContract]
        int InsertNewCar(Car car);//插入一辆汽车

        [OperationContract]
        bool RemoveCar(Car car);//移除一辆车

        [OperationContract]
        void UpdateMilage(Car car);//更新里程

        [OperationContract]
        List<Car> ListCars();//获得所有的车辆信息

        [OperationContract]
        byte[] GetCarPicture(string carID);//获取车辆的图片
    }

----------imp----------------

  public byte[] GetCarPicture(string carID)
        {
            byte[] buffer;
            string pathToPicture = "c:\\1.jpg";
            FileStream fileStream = new FileStream(pathToPicture, FileMode.Open, FileAccess.Read);
            BinaryReader reader = new BinaryReader(fileStream);
            buffer = reader.ReadBytes((int)fileStream.Length);
            return buffer;
        }

----------client--------------------------

CarService.CarManagementClient client = new CarService.CarManagementClient();
            byte[] buffer;
            buffer = client.GetCarPicture("");

            TypeConverter typeConverter = TypeDescriptor.GetConverter(typeof(Bitmap));
            Bitmap pic = (Bitmap)typeConverter.ConvertFrom(buffer);

            pictureBox1.Image = pic;

-------------------client_config-------------------

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <bindings>
            <wsHttpBinding>
                <binding name="WSHttpBinding_ICarManagement" closeTimeout="00:01:00"
                    openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                    bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferPoolSize="524288" maxReceivedMessageSize="999999"
                    messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
                    allowCookies="false">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="999999"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <reliableSession ordered="true" inactivityTimeout="00:10:00"
                        enabled="false" />
                    <security mode="Message">
                        <transport clientCredentialType="Windows" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="Windows" negotiateServiceCredential="true"
                            algorithmSuite="Default" />
                    </security>
                </binding>
            </wsHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://localhost:9876/CarManagementService"
                binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ICarManagement"
                contract="CarService.ICarManagement" name="WSHttpBinding_ICarManagement">
                <identity>
                    <userPrincipalName value="lizhch@GREATWALL.LOCAL" />
                </identity>
            </endpoint>
        </client>
    </system.serviceModel>
</configuration>

posted @ 2013-10-10 15:26  feidaochuanqing  阅读(173)  评论(0编辑  收藏  举报