zoukankan      html  css  js  c++  java
  • Silverlight 独立存储(IsolatedStorageFile)

    1.在Web中添加天气服务引用地址

    http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

    2.在Web中添加Wcf服务接口IWeatherService.cs

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Runtime.Serialization;
     5 using System.ServiceModel;
     6 using System.Text;
     7 
     8 namespace EasySL.Web.WCF
     9 {
    10     // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IWeatherService”。
    11     [ServiceContract]
    12     public interface IWeatherService
    13     {
    14         [OperationContract]
    15         string[] GetCityWeather(string CityName);
    16     }
    17 }

    3.在Web中实现服务接口

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Runtime.Serialization;
     5 using System.ServiceModel;
     6 using System.Text;
     7 
     8 namespace EasySL.Web.WCF
     9 {
    10     // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“WeatherService”。
    11     // 注意: 为了启动 WCF 测试客户端以测试此服务,请在解决方案资源管理器中选择 WeatherService.svc 或 WeatherService.svc.cs,然后开始调试。
    12     public class WeatherService : IWeatherService
    13     {
    14         public string[] GetCityWeather(string CityName)
    15         {
    16             ServiceRefWeather.WeatherWebServiceSoapClient client = new ServiceRefWeather.WeatherWebServiceSoapClient("WeatherWebServiceSoap");
    17             string[] cityNameWeather = client.getWeatherbyCityName(CityName);
    18             return cityNameWeather;
    19         }
    20     }
    21 }

    4.在client添加自己创建的Wcf服务地址、调用服务接口

    /// <summary>
            /// 通过wcf获取天气数据信息
            /// </summary>
            private void InitDataWeather()
            {
                try
                {
                    ServiceReference1.WeatherServiceClient client = new ServiceReference1.WeatherServiceClient();
                    client.GetCityWeatherCompleted += (s, e) =>
                    {
                        try
                        {
                            if (e.Error == null)
                            {
                                string[] cityWeather = new string[e.Result.Count];
                               讲e.Result结果显示在页面中就ok了,然后我们将e.Result进行数据格式处理,运用独立存储讲结果保存起来                         }
                            else
                            {
                                lbltitle1.Content = e.Error.Message;
                            }
                        }
                        catch (Exception ex)
                        {
                            lbltitle1.Content = ex.Message;
                        }
    
                    };
                    client.GetCityWeatherAsync("北京");
                }
                catch (Exception ex)
                {
                    //lbltitle1.Content = ex.Message;
                }
    
            }    

    5.将数据结果存放到本地(运用独立存储技术)

     1  private void WeatherWriterIsolatedStorageFile(string str)
     2         {
     3             IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication();
     4             if (isf.FileExists("Weather.txt"))
     5             {
     6                 isf.DeleteFile("Weather.txt");
     7             }
     8             using (Stream stream = isf.CreateFile("Weather.txt"))
     9             {
    10                 using (StreamWriter writer = new StreamWriter(stream))
    11                 {
    12                     writer.WriteLine(str);
    13                 }
    14             }
    15         }

    6.读取存放的数据结果(独立存储)

     private void ReaderWeatherIsolatedStorageFile()
            {
                IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication();
                if (isf.FileExists("AppConfig/Weather.txt"))
                {
                    using (Stream stream = isf.OpenFile("Weather.txt", FileMode.Open))
                    {
                        using (StreamReader reader = new StreamReader(stream))
                        {
                            string[] line = reader.ReadToEnd().Split('|');
                         }
                    }
                    isf.DeleteFile("Weather.txt");
                }
                else
                {
                    InitDataWeather();
                }
            }
  • 相关阅读:
    非类型模板参数(针对C++)
    继承(针对C++)
    进程中的线程共享的资源有哪些?
    关键字typename(针对C++)
    设计模式之——工厂模式
    利用多线程同步互斥来创建自己的资源锁
    SQL优化总结
    委托与泛型
    第5章 事件和数据回发机制
    jQuery权威指南_读书笔记
  • 原文地址:https://www.cnblogs.com/zxbzl/p/3899738.html
Copyright © 2011-2022 走看看