您的位置:首页技术开发ASP教程 → ASP+学习笔记(四)

ASP+学习笔记(四)

时间:2004/11/7 4:13:00来源:本站整理作者:蓝点我要评论(0)

五、asp+ MyWeb 应用

    

1).概述

    MyWeb是ASP+中的一门新技术,允许一个ASP+应用在没有WEB服务器的机器上运行,实际在

IE内部运行,可以离线地运行。开发上与服务器端的应用开发无异。

    让客户可以在需要时进行安装,这叫demand install。

    当用户访问一个MYWEB应用时,ASP+首先试图从本地找到这个应用,如果找不到,则从

myweb:URL处下载应用说明(manifest),如果成功,则下载整个应用并安装到本地。

    myweb在NGWS运行环境中执行(所以,客户端必须安装NGWS运行时库),可以访问独立的

存储系统,同时,可以建立到原来安装这个应用的站点的连接。他们不能访问本地机上的资源,

以及部分COM的调用(这有点类似于JAVA中的APPLET)。

    

2).myweb管理工具

    如果安装了IE55,并且安装了NGWS运行时环境,则可以从浏览器工具条上选择"myweb"按扭,

(位置在工具条的最后,就像安装了金山词霸后增加的那个工具一样),或者也可以直接在浏览

器的地址栏里输入 myweb:// ,就可以进入MYWEB管理工具。

    存在两种类型的myweb应用,一是Remote的,二是Local的。

    可以用管理工具新安装一个myweb应用,或者直接从浏览器地址栏里输入myweb的URL,后一

种情况下,如果已经安装了这个myweb应用,则将直接启动该应用。

    

3).开发myweb应用

    跟开发一个ASP+服务器应用类似,最后需要一个CAB文件,用实用工具cabarc.exe生成,如:

    cabarc -p -r n myweb.cab *.aspx *.html *.jpg *.css *.dll *.web

    manifest文件是OSD(Open Software Description)格式,名为myweb.osd,一个例子:

    

    

        

            

        


        myweb://somewhere.com/default.aspx

        myweb://somewhere.coom/icon.gif

        http://somewhere.com/icon.gif

        white

         Beijing 123okey.Inc

        3000

    


    

4).略

5).独立存储空间

    myweb不能访问本地文件系统,但可以访问由GNWS提供的独立存储空间(IsolatedStorage),

就像访问本地文件一样,例:

    

    //读取数据

    String _storeFile="mystore";

    ArrayList values=new ArrayList();

    IsolatedStorageFileStream stream = null;

    try{

        stream = new IsolatedStorageFileStream(_storeFile,FileMode.Open);

    }catch(Exception e){}

    if(null!=stream){

        values=(ArrayList)BinarySerializer.DeSerialize(stream);

        stream.Close();

        }

    

    //保存数据

    IsolatedStorageFileStream stream;

    stream = new IsolatedStorageFileStream(_stroeFile,FileMode.OpenOrCreate);

    ArrayList values = new ArrayList();

    values.Add("test1");

    ......

    BinarySerializer.Serializer(values,stream);

    stream.Close();

    

    使用上例时注意需要引入名称空间:

    System.IO;

    System.IO.IsolatedStorage;

    System.Runtime.Serialization.Formatters;

        

6).离线数据同步

    现在这个版本的myweb还不支持自动地实现同步。

    可以用myweb.Connected属性判断当前是否连在网上。

    

    

六、Cache服务



    Caching动态产生的内容叫output catching。

    Caching专门的对象叫Data Catching。

    asp+中提供了专门的Cache引擎。



1).output caching

    设置response的expiration/validation,仅对GET和HEAD有效,支持URL中的参数,完全相同

时使用catching中的内容。内容缺省地将在cache中保存60分钟。

    要让一个.aspx文件被caching,仅需要加一行:

    <%@ OutputCache Duration="60" %>

    上面的60指60秒。

    要实现更多的控制,如下:

    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));

    Response.Cache.SetCacheability(HttpCacheability.Public);

    或者:

    SetExpires(DateTime.Now.AddSeconds(60));

    SetCacheability(HttpCacheability.Public);

    SetSlidingExpiration(true);

    

2).Data Caching

    Cache引擎可以让你把对象保存到其中,只有应用重启后才需要重建Cache。是一个字典接口,如:

    Cache["mykey"]=myValue;

    myValue = Cache["mykey"];

    if(myValue!=null)

    ......

    

    还可以支持清除,过期等,以及文件和键值以来(可以用于统计图形,记数器等)。

    例:

    source = (DataView)Cache["MyDataSet"];

    if(source == null){

        ......

        source = new DateView(ds.Tables[0]);

        Cache["MyDataSet"] = source;

        }

    

    文件依赖:

    Cache.Insert("MyData",source,new CacheDependency(server.mappath("authors.xml")));

    时间过期:

    Cache.Insert("MyData",source,null,DateTime.Now.AddHours(1),TimeSpan.Zero);

    

    注意,为了防止资源访问中的冲突,必须对资源访问进行同步,如:

    private static String CacheSynchronize;

    lock(CacheSynchronize)

    {......

    }

    



七、配置



    asp+中使用文件做配置。

    在其中,也可以配置自己的信息。

    

1).配置文件格式

    文件名为config.web,应用当前应用及其自目录下的应用。

    WinNT\ComPlus\\Config.web是整个系统的缺省配置。config.web不可能被浏览器

访问到,即便放在WEB应用的目录下。

    配置文件中分成两小节,第一节指出谁来处理配置信息,第二小节是具体的配置数据。

    标准的ASP+配置处理器有:

     处理所有的请求

     将特定的URL映射到特定的处理器,子目录中应用不继承该配置。参考前面

            的http处理器和工厂。

     session状态处理器

    

     编译相关的处理

      asp+ Trace服务

     ASP+安全模块

      iis处理模块

      处理浏览器兼容信息的设置

    

2).获取配置信息

    可以用API直接访问配置信息,比如Request.Browser对象的属性直接获得browsercapabilities

或者调用Context.GetConfig,比如:

    CustomConfigSettings Config=(CustomConfigSettings)Context.GetConfig("customconfig");

    if(config.Enabled==true)

    ......

    

    GetConfig可有第二个参数获得指定的URL的配置。

    

    下面是一个保存应用自己的配置数据的例:

    

        

            

        


        

            

            

        


    


    使用:

    String dsn = (String)((Hashtable)Context.GetConfig("databases"))["pubs"];






相关阅读 Mac访问Windows共享文件夹Windows 7正版系统验证方法windows 8.1系统版本号查看方法Windows 8.1系统电话激活时无法输入微软返回代码解决方法Windows 8如何调整屏幕分辨率windows8.1磁盘占用100%解决方法Mac双系统如何删除Boot Camp安装的Windows分区Apple教你如何在Mac 上运行 Windows

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 《龙珠:超宇宙》 战斗E3 2014:瘆人僵尸《消 asp代码实现access数据导出到excel文件如何使用FSO读取Js文件内容并可以编辑修改对初学者有用的一些asp函数集学习ASP编程必会的代码

人气排行 asp代码实现access数据导出到excel文件asp不需要任何配置的伪静态实现如何使用FSO读取Js文件内容并可以编辑修改asp去除html标记和空格的代码Asp全选删除代码教大家网页伪静态知识及其2种实现方法Microsoft SQL Server 7.0安装问题(一)ASP.NET中的Code Behind技术4