WP7&WP8开发、文件读写操作上的分别

【菜科解读】
一、WP7的文件操作:如果在wp7平台上去写入一个文件,我们会使用: IsolatedStorageFile代码如下:①写入文件private void WriteFile(string fileName, string content){ using (IsolatedStorageFile isolatedStorageFile = IsolatedStorageFile.GetUserStoreForApplication()) { using (IsolatedStorageFileStream isolatedStorageFileStream = isolatedStorageFile.CreateFile(fileName)) { using (StreamWriter streamWriter = new StreamWriter(isolatedStorageFileStream)) { streamWriter.Write(content); } } }}②读取文件private string ReadFile(string fileName){ string text; using (IsolatedStorageFile isolatedStorageFile = IsolatedStorageFile.GetUserStoreForApplication()) { using (IsolatedStorageFileStream isolatedStorageFileStream = isolatedStorageFile.OpenFile(fileName, FileMode.Open)) { using (StreamReader streamReader = new StreamReader(isolatedStorageFileStream)) { text = streamReader.ReadToEnd(); } } } return text;}二、WP8文件操作wp8与win8的文件操作方式类似,如果你在win8下写过文件操作,那么WP8自然熟悉,这需要用到2个接口:IStorageFile和 IStorageFolder, 可以看出,一个是对文件的操作,一个是对目录的。
这两个接口均在 :Windwos.Storage组件中,注意:因在windows 8 开发中大量使用了WinRT异步编程方式,故在WP8中编程亦如此。
代码如下:①写入文件:public async Task WriteFile(string fileName, string text){ IStorageFolder applicationFolder = ApplicationData.Current.LocalFolder; IStorageFile storageFile = await applicationFolder.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting); using (Stream stream = await storageFile.OpenStreamForWriteAsync()) { byte[] content = Encoding.UTF8.GetBytes(text); await stream.WriteAsync(content, 0, content.Length); }}②读取文件:public async Task ReadFile(string fileName){ string text; IStorageFolder applicationFolder = ApplicationData.Current.LocalFolder; IStorageFile storageFile = await applicationFolder.GetFileAsync(fileName); IRandomAccessStream accessStream = await storageFile.OpenReadAsync(); using (Stream stream = accessStream.AsStreamForRead((int)accessStream.Size)) { byte[] content = new byte[stream.Length]; await stream.ReadAsync(content, 0, (int) stream.Length); text = Encoding.UTF8.GetString(content, 0, content.Length); } return text;}三、兼容性问题上面的代码分别对WP7与WP8平台的文件写入与读取操作进行了简单的说明那么在WP7应用中的文件目录结构定义,是不是在WP8中也是一样的呢?其实,两者是有点区别的,这点区别,也是日后WP7向WP8迁移过程中必须要考虑的元素之一。
在WP7中,创建文件test.txt,那么,它在隔离存储区的文件目录结构如下:C:\Data\Users\DefaultAppAccount\AppData\{ProductID}\Local\IsolatedStore\test.txt在WP8中,创建相同文件,文件存储目录结构如下:C:\Data\Users\DefaultAppAccount\AppData\{ProductID}\Local\test.txt两者一对比,我们发现:在WP8开发中,如果使用现有的WP7代码时,如果你不想改变原有文件目录结构,那你就必须要首先获取WP7隔离存储目录.即:IStorageFolder applicationFolder =await ApplicationData.Current.LocalFolder.GetFolderAsync("IsolatedStore");最后,想说明的是:如果你想“偷懒”或者说减少开发工作量,就看看我上面说的这些但如果打算做WP8/WIN8两个平台,最好全新开发基于WP8平台的应用,这可以加快你的Win8应用的移植。
影音传送带<全攻畋>
Net Transport最多可以把一个任务分成十个部分同时下载,而且同时允许最多十个下载任务!值得一提的是,它有着与网际快车同样的悬浮窗功能,支持自由拖拽,更名,添加,查找,把下载的文件分门别类地存放,文件名重复时可自动重命名。
它是一个快速稳定功能强大的下载工具,下载速度一流,CPU占用率低,尤其在宽带上特别明显;内建易于使用的文件管理器,轻松实现按类别存放下载的文件。
现支持HTTP、FTP、MMS和RTSP等流行传输协议,而且这些协议均实现多线程断点续传(只要站点支持)。
MMS协议流每秒的字节数差不多是固定的,这就决定了MMS流本身不能充分利用用户所有的带宽,所以多线程技术在缩短MMS流下载时间方面效果立竿见影。
可惜的是,同类软件中少有支持MMS多线程下载技术的,也许有人会说网络鼹鼠也行,但它不支持RTSP协议,Net Transport正好弥补了这个空白。
它的主要功能有 1、每个任务最多10(通过修改注册表可达128,查阅帮助文件)个线程,单个线程带宽大于1M字节(程序缺省的选项设置)。
最多10(通过修改注册表也可达128,查阅帮助文件)个任务同时下载。
2、内建简易的但功能强大的文件管理器,帮助用户更好地分类和轻松地组织下载文件。
3、可检查文件是否更新或重新下载。
4、充分支持代理服务器,在多代理类型的任务中,用户可以自由地为每个线程设置一个代理,彻底打破某些站点只允许一个IP一个连接的限制。
5、速度限制允许用户边下载边浏览。
6、监视浏览器点击(现只支持IE)。
用户可以使用数种方式添加任务,诸如通过IE扩展菜单、将URL拖入下载窗口等等。
7、自动关机和自动挂断MODEM。
8、上移下移任务让重要任务提前下载。
9、定制工具栏、下载信息及日志窗口颜色。
10、多语言支持,并可随时切换,现支持英语、简体中文和繁体中文。
只要将语言文件翻译成母语就可以实现本地化,请参阅帮助文件。
最值得说的是它是中国第一款支持RTSP协议的下载工具,而且是完全免费的,你可以很轻松的获得它。
界面说明与软件设置 启动软件后,在其操作界面 最上方是菜单和工具栏,左上方是文件分类目录,右上方是下载任务详细列表,右下方是正在下载文件的详细信息。
和多数Windows 软件一样, NetTransport的窗口也包括标题栏、菜单栏、工具栏、工作区几个部分。
其中工具栏包括了菜单栏提供的绝大多数主要操作的快捷按钮。
NetTransport的基本使用下载安装后,每当浏览器要下载文件的时候会自动启动网络传送带,选好下载保存路径,直接按确定即可开始下载了!先向大家介绍一下NetTransport程序下载窗口的一些简单的 设置 URL:这里输入的是你要下载的文件完整的下载地址,目前支持HTTP、FTP、MMS和RTSP协议,它是中国第一个支持这些协议的下载工具; 引用:这里一般不需要填写的,主要是显示当前文件是从哪个页面上下载的,NetTransport可以自动帮你生成;重命名:为下载的文件重新命上自己易辨别与查找的名字;类别:按照自己的习惯把下载的文件放到各个类别中去,以方便我们日后的查找;目录:下载文件的保存路径,可以点击浏览按钮自行设计,缺省的类别为“任务”;块数:文件同时下载的份数。
NetTransport可以把一个文件分成十块,也就是十个线程同时下载,这样文件下载的速度就会得到几倍的提高;需要验证:这个选项一般都是在FTP方式下载的,因为有些FTP服务器需要对用户名和密码进行验证,你可以在此填上验证信息;代理设置:如果你使用的是Http和Ftp代理服务器,你可以在此指定某个任务的具体代理服务器; NetTransport上手篇上面我们对NetTransport有了大体上的认识,我相信大多数人已经会应用自如了。
接下来,我们安装完成以后可以按照以下的步骤设置:View——Language——简体中文 打开主菜单的工具——选项,就进入了高级选项‘ 目录:默认的目录是“类别”,你可以通过点击右边的按钮,浏览文件夹对话框,选取你要保存的路径;块数:需要下载的线程数,程序默认的为10个线程;不使用缓存:服务器会把已浏览过的内容保存到自己的缓存中,下次读取同样信息的请求时,就从服务器直接从缓存中读取。
“不使用缓存”是要求服务器不要使用缓存,使用缓存可以加快下载的速度,建议用户不要打勾; 被动模式:适用于FTP协议文件的传输,FTP协议下载文件时要建立命令通道和数据通道。
通常情况下命令和数据通道都由用户端建立,如果选择PASSIVE模式,数据通道由服务器建立。
如果你使用的是代理服务器,最好是使用被动模式,否则数据通道不可能建立成功; Cookie:多数邮件服务器下载邮件时需要使用Cookie信息认证,如果不发送Cookie信息,就无法下载。
但是绝大多数HTTP和FTP服务器不需要Cookie,所以可以不选;立即开始:缺省状况下,只要任务一建立就立刻开始下载; 2.代理服务器 添加一个新的代理服务器到列表中;编辑:编辑例表中选中的代理服务器信息; 删除:删除例表中选中的代理服务器;点击“确定”后对代理服务器进行设置; 3.连接 超时连接:超过限定的时间未连接到指定的下载地址,程序即认为连接任务失败; 超时数据:超过限定的时间未接收到数据即认为与站点的连接已经无效,断开连接; 最多同时进行的任务数:同时允许并发下载的文件数目。
如果同时下载的任务已达到或超过该设置的数目,此时再添加下载任务,不会立即开始而是排在队列中等待某个下载完成后才会开始。
重试次数/无限制重试:错误超过设定的次数,下载就会停止。
不限制次数就一直重试下去,直到成功; 速度限制:Net Transport下载的时候基本上会占用全部带宽,但是连接的带宽毕竟是有限制的,此时正在下载文件的你可能无法浏览其它网页。
速度限制可以保证留出一部分带宽供浏览使用; 4.图形/日志 选择:所选任务的数据流量图的背景色; 所有:所有任务的数据流量图的背景色; 背景:数据流量图的背景色; 日志窗口文本颜色:不同种类的信息行以不同的颜色来显示; 设置背景色:不打勾就选择信息行的文本色否则就是背景色; 显示块大小:在进程窗口中每个点代替的字节数; 缺省:恢复程序缺省状态; 5.监视 下载确认:捕获浏览器点击时进行提示。
用户可以在任务提示中修改类别、文件名、注释等等; 受监视的URL需要被分析:很有用的选项,因为含有下载文件名的URL经常不是指向实际的目标,而是可能指向html,比如下载授 权、选择服务器等等,具体如download.pchome.net。
使用此功能Net Transport会分析决定是捕捉该URL还是显示html。
如果网络速度慢,用户可以关闭该功能; URL中含有通配符:很有用的选项,原因如上,www.download.com.cn; 监视的文件类型:监视浏览器点击时的文件扩展名。
如果点击和复制时文件扩展名不符合该设置就不会添加该URL到任务列表; 6.性能连接缓冲区 性能连接缓冲区:发送和接收命令时使用的缓冲区。
缺省32K足够了;数据缓冲区:接收数据时使用的缓冲区。
一般不要低于128K,否则可能会降低效能因为写盘的次数增多了;超过512K时增速的效果也不是很明显,用户自己试试 寻找一个最佳值; 轮询睡眠时间:很重要但很难讲清,在高速网中对下载有很大的影响,窄带影响不大。
不宜过小,这样CPU占用率会增大;也不宜过大,下载偏慢浪费带宽,而且不同的机器各不相同。
20ms比较均衡,性能好点的可适当小点,别等于0如果这样CPU占用率100%,反之可大点,用户自己试试 寻找一个最佳值; 日志保存间隔:为了防止不正常的当机,Net Transport按设定的时间间隔自动保存文件列表。
如果不幸死机,只会损失上次保存后的内容。
60秒比较均衡,时间越短越安全但因反复写盘造成性能下降,时间越长虽然性能不错但安全性下降; 最小分裂尺寸:如果未下载段的尺寸大于该设置,就会由一个已结束的线程从未完成段的中间部分劈开下载。
缺省32K,不宜过小否则因连接频繁 反而降低性能; 7.系统确认:系统默认的是把勾全勾上了,建议不要修改它,因为我们有时一般下载安装后为英文版,只要打开主窗口的view菜单中的language选择简体中文, 即可把软件改成中文版。
在工具菜单栏下还有几个选项,介绍一下完成关闭与挂断功能和速度限制:完成后关闭:下载完毕后可以自动关闭机器,当然前提是机器必须支持自动关机,否则只会重新启动。
它的优先级高于完成后挂断; 完成后挂断:下载完毕后可以自动挂断拨号网络连接;速度限制:为了充分利用网络在所选时段的高速特性,“速度限定”模式前面应该打勾好了,Net Transport 我就介绍到这里,但许多新手不知道怎样才能得到流媒体的具体下载地址。
这里提供的是该软件的官方下载地址: http://lycos26486.l78.lycos.com.cn/chs/default.htm 影音,传送带,全攻,畋,有,很多,新网友,新,网友,
易被忽略的攻击方式<<五>>
这是由于外部黑客一般没有任何访问企业内部网络的权限,也不可能轻易就能接触到企业网络中的各类设备,而且企业通常都使用了相应的安全防范措施来防止这种方式的黑客攻击。
但是,一个企业内部员工要想实施某种黑客攻击行为就要比外部黑客攻击来得轻松得多。
这是由于企业内部员工都有某种使用企业网络资源的权限,他可以直接利用这种权限做他任何想做的事情。
对于企业内部黑客攻击来说,也存在两种不同的方式:一种方式就是企业内部员工在利益的驱使之下,或者为了报复自己在企业中的不公平待遇(通常是员工与某个部门或企业领导意见不和,或都认为自己的薪资待遇不公平等原因所致)而发起的黑客攻击行为。
也有可能是与外部黑客共同合作,来个里应外合的攻击;另一种方式就是黑客为了能得到某个企业中的重要信息,在由外向内攻击的方式不成功的前提下,他也可能利用此企业招工的机会成为该企业的员工,然后再利用获得的企业内部员工权限来实施下一步的攻击活动。
这一幕与电影无间道中的安插在警察队伍中的黑社会卧底一样,只有要机会就会发动攻击。
当企业内部员工想从企业网络内部发动攻击行为时,一些传统的安全防范措施,例如防火墙是不可能阻止这些来自企业内部的网络攻击行为的。
因此,要想防范这种黑客攻击行为,就必需在企业内部部署内网安全防御措施,这些内部安全防御措施包括在企业网关处安装网络行为监控设备,实施企业权限管理,严格控制企业内部每个员工的操作和访问权限,严格限制企业内部员在使用的计算机中安装软件,发送私人电子邮件,将与企业相关的信息发布到互联网上的论坛、个人博客当中。
严格控制可移动存取设备的使用,以及无线访问终端的接入权限,对这些设备进行严格的审计和日志记录,了解每个设备的使用情况和数据的流向。
在网关及内部重要位置安装基于主机和网络的混合型入侵检测防御系统,以及安装其它网络监控软件和内容过程装置来防范来自内部的非法操作,并且要加强员工的招聘和离职管理,在企业的主要出入口及重要设备位置安装物理防范设备,例如指纹锁和摄像头,防止内部员工通过物理方式接触无授权使用的设备等等。
在本文中例出的这些黑客攻击手段,都是一最基本的攻击手段,但都是一些被人们经常忽视的黑客攻击手段。
通过对这些黑客攻击手段的了解,我们应当知道安全防范无大小,任何一个小小的疏忽都有可能带来严重的黑客攻击事件。
因此,只有将黑客攻击手段的方方面面都考虑清除后,才能算是全面的安全防范,才有可能将黑客攻击带来的风险降低到我们可以接受的水平之内。
易被,忽视,的,攻击,方式,五,五,、,来自,企业,