ASP+ 学习笔记 4
来源:互联网 发布:downfile.php 编辑:程序博客网 时间:2024/04/28 22:55
<a href='http://www.biancheng88.cn/html/2008-11/ASP-52292187.html'>ASP+ 学习笔记 4</a><br><br>
五、asp+ MyWeb 应用<br>
<br>
1).概述<br>
MyWeb是ASP+中的一门新技术,允许一个ASP+应用在没有WEB服务器的机器上运行,实际在<br>
IE内部运行,可以离线地运行。开发上与服务器端的应用开发无异。<br>
让客户可以在需要时进行安装,这叫demand install。<br>
当用户访问一个MYWEB应用时,ASP+首先试图从本地找到这个应用,如果找不到,则从<br>
myweb:URL处下载应用说明(manifest),如果成功,则下载整个应用并安装到本地。<br>
myweb在NGWS运行环境中执行(所以,客户端必须安装NGWS运行时库),可以访问独立的<br>
存储系统,同时,可以建立到原来安装这个应用的站点的连接。他们不能访问本地机上的资源,<br>
以及部分COM的调用(这有点类似于JAVA中的APPLET)。<br>
<br>
2).myweb管理工具<br>
如果安装了IE55,并且安装了NGWS运行时环境,则可以从浏览器工具条上选择"myweb"按扭,<br>
(位置在工具条的最后,就像安装了金山词霸后增加的那个工具一样),或者也可以直接在浏览<br>
器的地址栏里输入 myweb:// ,就可以进入MYWEB管理工具。<br>
存在两种类型的myweb应用,一是Remote的,二是Local的。<br>
可以用管理工具新安装一个myweb应用,或者直接从浏览器地址栏里输入myweb的URL,后一<br>
种情况下,如果已经安装了这个myweb应用,则将直接启动该应用。<br>
<br>
3).开发myweb应用<br>
跟开发一个<a href="http://www.biancheng88.cn/html/special/2008-11/ASP/" title="ASP" target=_blank><B>ASP</B></a>+服务器应用类似,最后需要一个CAB文件,用实用工具cabarc.exe生成,如:<br>
cabarc -p -r n myweb.cab *.aspx *.html *.jpg *.css *.dll *.web<br>
manifest文件是OSD(Open Software Description)格式,名为myweb.osd,一个例子:<br>
<br>
<softpkg name="Demo1" version="1.0"><br>
<implementation><br>
<codebase href="http://somewhere.com/myweb.cab"><br>
</implementation><br>
<homepage>myweb://somewhere.com/default.aspx</homepage><br>
<Iconurl>myweb://somewhere.coom/icon.gif</Iconurl><br>
<RemoteIconurl>http://somewhere.com/icon.gif</RemoteIconurl><br>
<Author>white</Author><br>
<Source> Beijing 123okey.Inc</Source><br>
<size>3000</size><br>
</softpkg><br>
<br>
4).略<br>
5).独立存储空间<br>
myweb不能访问本地文件系统,但可以访问由GNWS提供的独立存储空间(IsolatedStorage),<br>
就像访问本地文件一样,例:<br>
<br>
//读取数据<br>
String _storeFile="mystore";<br>
ArrayList values=new ArrayList();<br>
IsolatedStorageFileStream stream = null;<br>
try{<br>
stream = new IsolatedStorageFileStream(_storeFile,FileMode.Open);<br>
}catch(Exception e){}<br>
if(null!=stream){<br>
values=(ArrayList)BinarySerializer.DeSerialize(stream);<br>
stream.Close();<br>
}<br>
<br>
//保存数据<br>
IsolatedStorageFileStream stream;<br>
stream = new IsolatedStorageFileStream(_stroeFile,FileMode.OpenOrCreate);<br>
ArrayList values = new ArrayList();<br>
values.Add("test1");<br>
......<br>
BinarySerializer.Serializer(values,stream);<br>
stream.Close();<br>
<br>
使用上例时注意需要引入名称空间:<br>
System.IO;<br>
System.IO.IsolatedStorage;<br>
System.Runtime.Serialization.Formatters;<br>
<br>
6).离线数据同步<br>
现在这个版本的myweb还不支持自动地实现同步。<br>
可以用myweb.Connected属性判断当前是否连在网上。<br>
<br>
<br>
六、Cache服务<br>
<br>
Caching动态产生的内容叫output catching。<br>
Caching专门的对象叫Data Catching。<br>
asp+中提供了专门的Cache引擎。<br>
<br>
1).output caching<br>
设置response的expiration/validation,仅对GET和HEAD有效,支持URL中的参数,完全相同<br>
时使用catching中的内容。内容缺省地将在cache中保存60分钟。<br>
要让一个.aspx文件被caching,仅需要加一行:<br>
<%@ OutputCache Duration="60" %><br>
上面的60指60秒。<br>
要实现更多的控制,如下:<br>
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));<br>
Response.Cache.SetCacheability(HttpCacheability.Public);<br>
或者:<br>
SetExpires(DateTime.Now.AddSeconds(60));<br>
SetCacheability(HttpCacheability.Public);<br>
SetSlidingExpiration(true);<br>
<br>
2).Data Caching<br>
Cache引擎可以让你把对象保存到其中,只有应用重启后才需要重建Cache。是一个字典接口,如:<br>
Cache["mykey"]=myValue;<br>
myValue = Cache["mykey"];<br>
if(myValue!=null)<br>
......<br>
<br>
还可以支持清除,过期等,以及文件和键值以来(可以用于统计图形,记数器等)。<br>
例:<br>
source = (DataView)Cache["MyDataSet"];<br>
if(source == null){<br>
......<br>
source = new DateView(ds.Tables[0]);<br>
Cache["MyDataSet"] = source;<br>
}<br>
<br>
文件依赖:<br>
Cache.Insert("MyData",source,new CacheDependency(server.mappath("authors.xml")));<br>
时间过期:<br>
Cache.Insert("MyData",source,null,DateTime.Now.AddHours(1),TimeSpan.Zero);<br>
<br>
注意,为了防止资源访问中的冲突,必须对资源访问进行同步,如:<br>
private static String CacheSynchronize;<br>
lock(CacheSynchronize)<br>
{......<br>
}<br>
<br>
<br>
七、配置<br>
<br>
asp+中使用文件做配置。<br>
在其中,也可以配置自己的信息。<br>
<br>
1).配置文件格式<br>
文件名为config.web,应用当前应用及其自目录下的应用。<br>
WinNT/ComPlus/<version>/Config.web是整个系统的缺省配置。config.web不可能被浏览器<br>
访问到,即便放在WEB应用的目录下。<br>
配置文件中分成两小节,第一节指出谁来处理配置信息,第二小节是具体的配置数据。<br>
标准的ASP+配置处理器有:<br>
<httpmodules> 处理所有的请求<br>
<httphandlers> 将特定的URL映射到特定的处理器,子目录中应用不继承该配置。参考前面<br>
的http处理器和工厂。<br>
<sessionstate> session状态处理器<br>
<globalization><br>
<compilation> 编译相关的处理<br>
<trace> asp+ Trace服务<br>
<security> <a href="http://www.biancheng88.cn/html/special/2008-11/ASP/" title="ASP" target=_blank><B>ASP</B></a>+安全模块<br>
<iisprocessmodel> iis处理模块<br>
<browsercaps> 处理浏览器兼容信息的设置<br>
<br>
2).获取配置信息<br>
可以用API直接访问配置信息,比如Request.Browser对象的属性直接获得browsercapabilities<br>
或者调用Context.GetConfig,比如:<br>
CustomConfigSettings Config=(CustomConfigSettings)Context.GetConfig("customconfig");<br>
if(config.Enabled==true)<br>
......<br>
<br>
GetConfig可有第二个参数获得指定的URL的配置。<br>
<br>
下面是一个保存应用自己的配置数据的例:<br>
<configuration><br>
<configsections><br>
<br>
</configsections><br>
<databases><br>
<br>
<br>
</databases><br>
</configuration><br>
使用:<br>
String dsn = (String)((Hashtable)Context.GetConfig("databases"))["pubs"]; <br>
<br>
- ASP+ 学习笔记 4
- ASP+ 学习笔记 4
- ASP.NET学习笔记
- ASP.NET学习笔记
- asp.net 学习笔记
- asp学习笔记
- asp学习笔记2
- asp.net学习笔记
- asp.net学习笔记
- asp.net 学习笔记
- asp.net学习笔记
- ASP.Net学习笔记
- ASP+ 学习笔记 5
- ASP+ 学习笔记 2
- ASP+ 学习笔记 3
- ASP学习笔记
- ASP学习笔记
- ASP学习笔记
- ASP+配置 — ASP+配置概念(一)
- 心情小记
- 红薯吃多了
- ASP+ 学习笔记 5
- java.nio(新IO)小结:
- ASP+ 学习笔记 4
- ASP+ 学习笔记 2
- 改变图片位置
- ASP+ 学习笔记 1
- ASP实现多语言支持
- 容器图片设置右击功能
- 把ASP移植到ASP+
- 获得客房端的MAC(Media Access Control)地址
- 实现在容器中显示图片