Silverlight中使用配置文件的方法

1 篇文章 0 订阅

Silverlight作为一个精简版的.NET framework,没有为配置文件提供相应的支持。我们无法像在winForm中那样使用System.Configuration.ConfigurationManager 来访问app.config中的配置信息。所以比较好的一个方式就只自己写一个配置文件管理类ConfigurationManager。以下构造方法参考了Andrew Tokeley上面的相关文章。

首先,在工程中创建一个XML文件,可以取名为app.config。



记得放在工程的根目录,方便后面设置路径。把Build Action设成Resource,关于Build Action的说明可以在这里找到。

随便在app.config中写点东西

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

  <appSettings>

    <add key="name" value="srzhz"/>

    <add key="university" value="Tsinghua University"/>

  </appSettings>

</configuration>

然后要开始创建这个ConfigurationManager类了。

首先在工程上按右键点击Add Reference,之后选择System.Xml.Linq。(如果没加的话无法引入命名空间System.Xml.Linq)

然后在ConfigurationManager类中写入如下代码

using System;
using System.Windows;
using System.Collections.Generic;
using System.Windows.Resources;
using System.IO;
using System.Xml.Linq;
using System.Reflection;

namespace Model
{
    /// <summary>

    /// Access appSettings from a configuration file

    /// </summary>

    /// <remarks>Your appConfig file must be in the root of your applcation</remarks>

    public static class ConfigurationManager
    {
        static ConfigurationManager()
        {
            AppSettings = new Dictionary<string, string>();
            ReadSettings();
        }

        public static Dictionary<string, string> AppSettings { get; set; }
        private static void ReadSettings()
        {
            // Get the name of the executing assemby - we are going to be looking in the root folder for
            // a file called app.config
            string assemblyName = Assembly.GetExecutingAssembly().FullName;
            assemblyName = assemblyName.Substring(0, assemblyName.IndexOf(','));
            string url = String.Format("{0};component/app.config", assemblyName);
            StreamResourceInfo configFile = Application.GetResourceStream(new Uri(url, UriKind.Relative));
            if (configFile != null && configFile.Stream != null)
            {
                Stream stream = configFile.Stream;
                XDocument document = XDocument.Load(stream);
                foreach (XElement element in document.Descendants("appSettings").DescendantNodes())
                {
                    AppSettings.Add(element.Attribute("key").Value, element.Attribute("value").Value);
                }
            }
        }
    }
}

之后你就可以通过调用这个类来获得配置信息了。例如:

String name = ConfigurationManager.AppSettings["name"];


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Silverlight多文件上传 v4.2源码 程序介绍: 提供了几种上传模式,单文件,多文件,集成js文件的方式上传文件。 将Silverlight上传工具集成到网页文件需要进行简单的配置,看 如下各项参数作用。 配置: MaxFileSizeKB: 文件大小 KBs. MaxUploads: 同时上传文件的最大数量 FileFilter: 文件类型过滤, 假如只使用jpeg文件: FileFilter=Jpeg (*.jpg) |*.jpg CustomParam: 自定义参数, 在WCF webservice可用 DefaultColor: 控件的默认颜色, 例如: LightBlue ChunkSize: 上传块的每个字节的大小bytes (最小 4096, 默认是 4194304) (仅用于 HttpUploader) UploadHandlerName: 指定HttpUploadHandler名称, 例如: "PHPUpload.php" 用于处理php上传. Parameters: <asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/mpost.SilverlightMultiFileUpload.xap" MinimumVersion="2.0.30523" Width="415" Height="280" InitParameters ="MaxFileSizeKB=1000,MaxUploads=2,FileFilter=,CustomParam=1,DefaultColor=LightBlue" /> 事件: AllFilesFinished - 当所有文件完成上传时触发 (当上传过程发生错误无效) SingleFileUploadFinished - 单文件上传完成时触发 ErrorOccurred - 当上传过程有错误时触发 属性: TotalUploadedFiles: 所有上传文件数量 TotalFilesSelected: 列表文件总数 Percentage: 总上传进度百分比 动作: 可以被JavaScript触发: StartUpload: 开始上传 ClearList: 清理列表 SelectFiles: 由于安全限制Silverlight 3不可用。查看testpages的示例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值