ASP 学习笔记(四)
2008-02-23 05:37:29来源:互联网 阅读 ()
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,一个例子:
<softpkg name="Demo1" version="1.0">
<implementation>
<codebase href="http://somewhere.com/myweb.cab">
</implementation>
<homepage>myweb://somewhere.com/default.aspx</homepage>
<Iconurl>myweb://somewhere.coom/icon.gif</Iconurl>
<RemoteIconurl>http://somewhere.com/icon.gif</RemoteIconurl>
<Author>white</Author>
<Source> Beijing 123okey.Inc</Source>
<size>3000</size>
</softpkg>
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 中使用文件做配置。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:ASP 学习笔记(三)
下一篇:ASP 学习笔记(五)
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash