Web技术电子期刊2008年第9期(总第26期)
作者:admin 日期:2008-09-27
Sandcastle生成项目文档手册
作者:admin 日期:2008-09-20
用过NDOC的对生成CHM的项目文档应该不会陌生,可惜那丫居然不再做下去了。还好,MS公司的Sandcastle顶上来了,当然,现在很多高手们也在不断地开发类似NDOC这样的文档生成工具。但用来用去,还是这个比较喜欢,可以自动把其它语言代码也同时生成(类似MSDN)一样。可是网上对这个东东都是一些介绍性的文档,没有说如何使用,这里就把我使用的过程供大家分享,一起学习.
当然,我所说的这工具,是在VS。NET开发环境实现,Java好像也有同样的生成工具的。
Sandcastle生成的输出结果具有以下特点:
类似于MSDN布局的界面。
自动生成索引项、内容项目表、主题块和页面布局,提高一致性和熟悉程度。
自动生成语法宣称部分。
自动生成继承表。
代码彩色化。
提供多种风格和语言选择,终端用户可从中选择自己最喜欢的形式。
输出结果以HTML和CSS形式显示,微软承诺将来提供更多选择。
看到这样好的东西,我估计你也想试一试吧。呵呵。
使用前提:
在你的Solution里面的每个项目里,都会有一个Bin文件夹,同时你必须要让你的项目能生成一个XML文件.(在属性里面设置xml document file),除此之外,在每个方法或函数里面都要写上对应的注释。
如图:
怎么让项目生成一个XML document file
代码中对应的注释:在每个方法前加三个斜杠 /// 会自动出来
做好了以上这两个前提准备,你的Bin文件下就应该有Sandcastle的东东了。
[em11]
[下载]
废话少说,先去当一个Sandcastle再说
还好,MS免费提供了下载:
http://www.microsoft.com/downloads/details.aspx?FamilyId=E82EA71D-DA89-42EE-A715-696E3A4873B2&displaylang=en
如果对这个玩艺儿有意思的话,可以去下载源码研究一下,开源嘛,不研究一下对不起脑子。
下载地址:
https://blogs.msdn.com/sandcastle/
[安装]
安装就不用我劳神吧,搞code不会装那实在是说不过去了吧,孩子。[em13]
安装好后记住安装位置
在安装位置中找到build_Sandcastle.bat这个批处理文件
Sandcastle\Examples\sandcastle\里面
这里提供一个xcopy.exe的系统文件,好像是用来COPY系统中的一些有用的文件的吧(放心,没毒)
点击下载此文件
然后,把你的项目的XML,DLL文件与xcopy.exe build_Sandcastle.bat 放在一起
[使用]
注:我这里采用的是命令行形式,如果要使用GUI方式生成,可以去下载一个
SandcastleGUI.exe (v1.47 - August 2008)
下载地址:http://www.inchl.nl/SandcastleGUI/
打开命令窗口,进入到你的文档所在的文件夹(就是把xml dll xcopy.exe build_Sandcastle.bat 装在一起的那个)
假设我要对IDAL.DLL这个生成文档,刚运行如下命令:
build_Sandcastle vs2005 abc.idal
你就可以在这个文件夹里看到一个CHM文件跟几个相关的文件夹了
如要你觉得上面的操作都比较麻烦,那你可以去下载一个 Sandcastle Help File Builder
你只要根据自己的项目去设定相关属性,同样可以生出chm鸡蛋来,更令人惊喜的是可以生出一个Net的网站!
操作界面跟NDOC类似
生成出来的类似MSDN的文档页面
除了上面这个插件外,Sandcastle 还可以通过 DocProject for Sandcastle 与 VS2005 VS2008集合在一起,以向导方式生出相关的文档来,具体的就不再述说了。大家可以看看下面这几个链接就知道了。
Sandcastle Help File Builder
http://www.codeplex.com/SHFB
DocProject for Sandcastle
http://www.codeplex.com/DocProject
AjaxDoc
http://www.codeplex.com/ajaxdoc
一点小经验,与大家分享,多多支持。[em13]
当然,我所说的这工具,是在VS。NET开发环境实现,Java好像也有同样的生成工具的。
Sandcastle生成的输出结果具有以下特点:
类似于MSDN布局的界面。
自动生成索引项、内容项目表、主题块和页面布局,提高一致性和熟悉程度。
自动生成语法宣称部分。
自动生成继承表。
代码彩色化。
提供多种风格和语言选择,终端用户可从中选择自己最喜欢的形式。
输出结果以HTML和CSS形式显示,微软承诺将来提供更多选择。
看到这样好的东西,我估计你也想试一试吧。呵呵。
使用前提:
在你的Solution里面的每个项目里,都会有一个Bin文件夹,同时你必须要让你的项目能生成一个XML文件.(在属性里面设置xml document file),除此之外,在每个方法或函数里面都要写上对应的注释。
如图:
怎么让项目生成一个XML document file
代码中对应的注释:在每个方法前加三个斜杠 /// 会自动出来
做好了以上这两个前提准备,你的Bin文件下就应该有Sandcastle的东东了。
[em11]
[下载]
废话少说,先去当一个Sandcastle再说
还好,MS免费提供了下载:
http://www.microsoft.com/downloads/details.aspx?FamilyId=E82EA71D-DA89-42EE-A715-696E3A4873B2&displaylang=en
如果对这个玩艺儿有意思的话,可以去下载源码研究一下,开源嘛,不研究一下对不起脑子。
下载地址:
https://blogs.msdn.com/sandcastle/
[安装]
安装就不用我劳神吧,搞code不会装那实在是说不过去了吧,孩子。[em13]
安装好后记住安装位置
在安装位置中找到build_Sandcastle.bat这个批处理文件
Sandcastle\Examples\sandcastle\里面
这里提供一个xcopy.exe的系统文件,好像是用来COPY系统中的一些有用的文件的吧(放心,没毒)
点击下载此文件
然后,把你的项目的XML,DLL文件与xcopy.exe build_Sandcastle.bat 放在一起
[使用]
注:我这里采用的是命令行形式,如果要使用GUI方式生成,可以去下载一个
SandcastleGUI.exe (v1.47 - August 2008)
下载地址:http://www.inchl.nl/SandcastleGUI/
打开命令窗口,进入到你的文档所在的文件夹(就是把xml dll xcopy.exe build_Sandcastle.bat 装在一起的那个)
假设我要对IDAL.DLL这个生成文档,刚运行如下命令:
build_Sandcastle vs2005 abc.idal
你就可以在这个文件夹里看到一个CHM文件跟几个相关的文件夹了
如要你觉得上面的操作都比较麻烦,那你可以去下载一个 Sandcastle Help File Builder
你只要根据自己的项目去设定相关属性,同样可以生出chm鸡蛋来,更令人惊喜的是可以生出一个Net的网站!
操作界面跟NDOC类似
生成出来的类似MSDN的文档页面
除了上面这个插件外,Sandcastle 还可以通过 DocProject for Sandcastle 与 VS2005 VS2008集合在一起,以向导方式生出相关的文档来,具体的就不再述说了。大家可以看看下面这几个链接就知道了。
Sandcastle Help File Builder
http://www.codeplex.com/SHFB
DocProject for Sandcastle
http://www.codeplex.com/DocProject
AjaxDoc
http://www.codeplex.com/ajaxdoc
一点小经验,与大家分享,多多支持。[em13]
Cookies的基本操作
作者:admin 日期:2008-09-10
Cookies的概念就不用哆嗦了,大家都很常用。不过我好像很少用,呵呵。
1.创建Cookies
using System;
// Use this line when you want to save a cookie
Response.Cookies["MyCookieName"].Value = "MyCookieValue";
// How long will cookie exist on client hard disk
Response.Cookies["MyCookieName"].Expires = DateTime.Now.AddDays(1);
// To add multiple key/value pairs in single cookie
Response.Cookies["VisitorData"]["FirstName"] = "Richard";
Response.Cookies["VisitorData"]["LastVisit"] = DateTime.Now.ToString();
2.读取Cookies
string MyCookieValue;
// We need to perform this check first, to avoid null exception
// if cookie not exists
if(Request.Cookies["MyCookieName"] != null)
MyCookieValue = Request.Cookies["MyCookieName"].Value;
3.删除Cookies
// First check if cookie exists
if (Request.Cookies["MyCookieName"] != null)
{
// Set its expiration time somewhere in the past
Response.Cookies["MyCookieName"].Expires = DateTime.Now.AddDays(-1);
4.使用HttpCookie class 这个类
参考MSDN:
http://msdn.microsoft.com/zh-tw/library/system.web.httpcookie(VS.80).aspx
几个常用属性:
属性的使用方法就跟其他类使用一样:
HttpCookie MyGreatCookie = new HttpCookie("MyCookieName");
MyGreatCookie.Value = "Some cookie value";
MyGreatCookie.Expires = DateTime.Now.AddDays(100);
Response.Cookies.Add(MyGreatCookie);
5.Cookies的一些限制
<1> Cookies的存储大小为4096 字节,一般只会用来存储一些数据量较小的信息
<2>每个Cookies的数量在一个网站上不能超过20个,当你超过20个时,老的会删除掉
<3>用户可以在浏览器中设置是否接受或启用Cookies,如果设置了否,Cookies就不能作为存储状态的工具,所以一般都会在使用Cookies之前检测一下浏览器是否启用了Cookies
6.如何确定是否使用了Cookies
End If
[ C# ]
if (Request.Browser.Cookies)
{
// Cookies supported
}
else
{
// Web browser not supports cookies
}
7.使用Cookies的场合
一般对用户比较敏感的数据都不建议使用Cookies来存储,它只是一些普通的文本,但是如果您想使用“记住我的状态”或“直接登录”这样的小功能来增加系统的操作简便性,这时Cookies就可以派上用场了.总的来说:用来保持用户在同一Website同一操作方式时是最好的使用方式
1.创建Cookies
复制内容到剪贴板 程序代码
using System;
// Use this line when you want to save a cookie
Response.Cookies["MyCookieName"].Value = "MyCookieValue";
// How long will cookie exist on client hard disk
Response.Cookies["MyCookieName"].Expires = DateTime.Now.AddDays(1);
// To add multiple key/value pairs in single cookie
Response.Cookies["VisitorData"]["FirstName"] = "Richard";
Response.Cookies["VisitorData"]["LastVisit"] = DateTime.Now.ToString();
2.读取Cookies
复制内容到剪贴板 程序代码
string MyCookieValue;
// We need to perform this check first, to avoid null exception
// if cookie not exists
if(Request.Cookies["MyCookieName"] != null)
MyCookieValue = Request.Cookies["MyCookieName"].Value;
3.删除Cookies
复制内容到剪贴板 程序代码
// First check if cookie exists
if (Request.Cookies["MyCookieName"] != null)
{
// Set its expiration time somewhere in the past
Response.Cookies["MyCookieName"].Expires = DateTime.Now.AddDays(-1);
4.使用HttpCookie class 这个类
参考MSDN:
http://msdn.microsoft.com/zh-tw/library/system.web.httpcookie(VS.80).aspx
几个常用属性:
属性的使用方法就跟其他类使用一样:
复制内容到剪贴板 程序代码
HttpCookie MyGreatCookie = new HttpCookie("MyCookieName");
MyGreatCookie.Value = "Some cookie value";
MyGreatCookie.Expires = DateTime.Now.AddDays(100);
Response.Cookies.Add(MyGreatCookie);
5.Cookies的一些限制
<1> Cookies的存储大小为4096 字节,一般只会用来存储一些数据量较小的信息
<2>每个Cookies的数量在一个网站上不能超过20个,当你超过20个时,老的会删除掉
<3>用户可以在浏览器中设置是否接受或启用Cookies,如果设置了否,Cookies就不能作为存储状态的工具,所以一般都会在使用Cookies之前检测一下浏览器是否启用了Cookies
6.如何确定是否使用了Cookies
复制内容到剪贴板 程序代码
End If
[ C# ]
if (Request.Browser.Cookies)
{
// Cookies supported
}
else
{
// Web browser not supports cookies
}
7.使用Cookies的场合
一般对用户比较敏感的数据都不建议使用Cookies来存储,它只是一些普通的文本,但是如果您想使用“记住我的状态”或“直接登录”这样的小功能来增加系统的操作简便性,这时Cookies就可以派上用场了.总的来说:用来保持用户在同一Website同一操作方式时是最好的使用方式