显示标签为“.NET技巧(.NET Tricks)”的博文。显示所有博文
显示标签为“.NET技巧(.NET Tricks)”的博文。显示所有博文

2008年11月29日星期六

AJAX中控制获得数据的缓存特点

前几天本人在写一个AJAX页面,发现页面没有刷新,还以为是AJAX没工作,一跟踪,原来是每次读到的都是旧数据,也就是本地缓存的数据.
A few days ago, when I writing a AJAX page to refresh content, but I find nothing changed. then I use Fiddler to hack in. Yes, AJAX is working, but read from local cache, not remote server.

怎样强迫IE每次都读取新的页面?
How to force IE read from remote server every time?


方法一:在AJAX代码中加上
xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2005 00:00:00 GMT");
这样自然每次都会读取.

Method 1: In your AJAX code, add something like this:
xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2005 00:00:00 GMT");

方法二:IE缓存是通过URL对比的,只要换个新的URL就可以更新了.比如加上Time Stamp.
Method2: IE check its cache by URL, so just use another URL, like add a timestamp;
var url = "sum.phtml?figure1=5&figure2=1×tamp=" + new Date().getTime();

方法三:在服务器端修改Header:
ASP.NET :
context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
实际上就是修改Header.

Method3:
If you own the remote server, you can change the page's Header.
In Asp.net, code like this:
context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
>>查看全文...

2008年9月19日星期五

在Visual studio里调试XSLT

在XML菜单和XML Editor工具栏里.

有调试的选项.一个是运行,显示结果HTML页面.一个是调试,可以逐行运行XSLT文件(当然,要提供XML文件)
>>查看全文...

2008年9月13日星期六

如何从服务器返回XML.(Return XML from .NET HTML Page Response)

自己就遇到过这种情况,从服务器返回XML内容后客户端不认。要从服务器端返回XML,需要注意以下几点。

1,在写入内容之前调用Response.ClearContent();清除ASP.NET自动附加的Header信息。

2,然后调用Response.ContentType = "text/xml"; 这样客户端才能将内容识别为XML。

3,还要注意文件编码,一般用UTF-8比较方便。

.NET server response HTML to user as default, but you can response XML text.
to do so:

1, call Response.ClearContent(); to clear any auto-add header information by ASP.NET.

2, call Response.ContentType="text/xml"; this make our client know, this is XML;

3, use UTF-8 codepage. this is default XML codepage, espesically for east-asia lanuage.
>>查看全文...

.NET如何判断文本文件编码

文本文件里是没有存放该文本的编码方式的,需要判断文件流的前三个字节来判断编码。
通常,当一个软件打开一个文本时,它要做的第一件事是决定这个文本究竟是使用哪种字
符集的哪种编码保存的。软件有几种途径来决定文本的字符集和编码,
最标准的途径是检测文本最开头的几个字节,楼主可以以不同编码保存后研究一下各种格式看看.比如

开头字节 Charset/encoding

EF BB BF UTF-8

FE FF UTF-16/UCS-2, little endian

FF FE UTF-16/UCS-2, big endian

FF FE 00 00 UTF-32/UCS-4, little endian.

00 00 FE FF UTF-32/UCS-4, big-endian.


在.NET里可以使用
StreamReader sr = new StreamReader("filepath", true/*detectEncodingFromByteOrderMarks*/)。//这里的true表示由程序自动判断文件编码

sr.CurrentEncoding //返回编码



>>查看全文...