要翻译的内容:
Web Services Addressing (WS-Addressing) defines two interoperable constructs that convey information that is typically provided by transport protocols and messaging systems. These constructs normalize this underlying information into a uniform format that can be processed independently of transport or application. The two constructs are endpoint references and message information headers.
这其实是 BEA Systems、IBM 和 Microsoft? 一起做的 WS-Addressing 规范中的简介。这个规范可以在
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/ws-addressing.asp
或者:
ftp://www6.software.ibm.com/software/developer/library/ws-add200403.pdf
看到。
首先看中文MSDN的翻译:
Web 服务寻址 (WS-Addressing) 定义了两种结构,它们传达的信息一般由传输协议和消息处理系统以一种可互操作的方式提供。 这些结构将该底层信息规格化为一种统一的格式,而对这种格式的处理可以独立于传输或应用程序。 这两种结构就是终结点引用 和消息信息标头。
相关地址看: http://www.microsoft.com/china/MSDN/library/WebServices/WebServices/WebServicesAddressing.mspx
再看 IBM 的翻译:
Web 服务寻址(WS-Addressing)定义了两个可互操作的构件,它们传达的信息一般是由传输协议和消息传递系统提供的。这些构件将这些底层信息规范化为一种统一的格式,而对这种格式的处理可以独立于传输或应用程序。这两个构件是 端点引用 端点引用和 消息信息头。
相关地址看:
http://www-900.ibm.com/developerWorks/cn/webservices/specification/ws-add/
?
| 22269 |
zjcxc |
邹建 |
| 6597 |
bitsbird |
一瓢.net |
| 4487 |
CMIC |
大象 |
| 4109 |
wanghr100 |
灰豆宝宝.net |
| 3989 |
freefalcon |
心宇 |
| 3892 |
online |
龙卷风V2.0--再战江湖 |
| 3791 |
wangsaokui |
无间道II(前传) |
| 3690 |
net_lover |
孟子E章 |
| 3255 |
cngdzhang |
|
| 2778 |
zhiqiu |
萬花叢中過,不染一縷香! |
| 2661 |
saucer |
思归/MVP |
| 2620 |
fason |
阿信 |
| 2573 |
itmaster |
▄︻┳═一 军火商 |
| 2494 |
supergreenbean |
超级绿豆 - 疯狂批改考卷中…… |
| 2491 |
cuike519 |
studing sps(修练中...) |
| 2144 |
lawdoor |
【风语者】 |
| 2085 |
kissoflife |
明月高楼休独倚,酒入愁肠,化作相思泪! |
| 2070 |
smx717616 |
.Net┷我很菜 |
| 2068 |
wwwllg |
wwwllg |
| 2049 |
8992026 |
8992026 |
| 2035 |
sgnaw |
李逍遥 |
| 2032 |
lxcc |
虫子 |
| 1948 |
k4 |
olo |
| 1891 |
happyparrot |
快乐鹦鹉 |
| 1865 |
victorycyz |
中海 |
| 1808 |
cuizm |
射天狼 |
| 1722 |
daisy8675 |
莫依 |
| 1688 |
icuc88 |
每一个地方需要一个人来管理 |
| 1672 |
Mackz |
在相互 |
| 1613 |
gjd111686 |
数字金刚 |
| 1572 |
netcoder |
朱二 |
| 1566 |
swbreath |
雪白呼嘘(MS_MVP) |
| 1528 |
internetcsdn |
公元1979年8月10日 |
| 1436 |
zhucde |
【風間苍月】)(MS_MVP |
| 1419 |
changechange |
access911 & cg1 |
| 1407 |
ygzdev |
TheEcho |
| 1399 |
ghostzp |
青石小巷 |
| 1359 |
Ninputer |
装配脑袋 |
| 1358 |
greatsft |
C的使者 |
| 1346 |
laiyiling |
最熟悉的陌生人 |
| 1341 |
PiggyXP |
【小猪】●你快乐于是我快乐 |
| 1340 |
enoloo |
努力COM |
| 1286 |
zhangnanonnet |
鱼欢 |
| 1262 |
skyboy0720 |
飞 |
| 1225 |
pbsql |
风云 |
| 1212 |
byry |
百事罐头 |
| 1187 |
kevinliuu |
@_@ |
| 1182 |
subtop |
风歌 |
| 1163 |
acewang |
龍芯*Inside! |
| 1133 |
smoothwood |
吾谁与归 |
|
|
|
|
|
|
IE中用window.open() 新开页面,有时会丢失Session 的问题。
有关这个问题的详细描述,请参看:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;196383
我摘要如下:
其实不仅仅是丢失Session的问题,Authentication (用户验证信息)也会丢失。
这个问题出现的原因是因为 :
"Browse In New Process." 某些情况下,你打开IE的一个新进程,这些信息没有被同步过去。
解决方法当然是老套的及时打补丁。
上述文中,通过设置"Browse In New Process." 演示了这个问题。
在Win2003中,这个设置不在IE的 Internet 选项 -- 高级中(Win2003 IE6 中找不到这个设置),
而在资源管理器的 -- 文件夹选项 -- 查看 -- 在单独的进程中打开文件夹窗口。
如下图的设置:
设置好后,你在资源管理器中输入演示的ASP文件,(注意是资源管理器,不是IE)。点击 WindowOpen 按钮,你就有一定的概率,看到新开的页面跟原来的页面不是同一个Session。
以上演示是在升级了微软所有已知补丁后的Win2003上作的测试,如果是没打过补丁的版本,可能概率更高,我没有测试过。
演示用到的ASP文件,上面提到的URL中给出了,就不再重复。
另外,明天 北京.net Group 活动的主题是多线程,有兴趣的请参看以下地址:
http://www.mscommunity.com/UserGroup/Events/default.aspx
|
|
|
|
Platform |
Hits |
% of Total Hits |
Visits  |
1 |
Windows 2000 |
3,388,987 |
63.05% |
24,388 |
2 |
Windows XP |
1,358,293 |
25.27% |
12,886 |
3 |
Windows NT |
417,519 |
7.76% |
3,313 |
4 |
Windows 98 |
172,163 |
3.20% |
2,405 |
5 |
Others |
12,500 |
0.23% |
475 |
6 |
Windows ME |
18,637 |
0.34% |
265 |
7 |
Linux |
5,714 |
0.10% |
102 |
8 |
Windows 95 |
255 |
0.00% |
5 |
9 |
Macintosh PowerPC |
338 |
0.00% |
3 |
10 |
Windows Win32s |
54 |
0.00% |
1 |
11 |
SunOS |
26 |
0.00% |
1 |
12 |
Windows 3.x |
21 |
0.00% |
1 |
| Total For Platforms Above |
5,374,507 |
100.00% |
43,845 |
|
 | |
作定时处理的话,我们首先考虑到的就是自己写个程序,然后把这个程序部署到Win的计划任务中。
这个程序可以是简单的批处理dat文件,也可以是一个js文件。当然更复杂的dll,exe也可以。
考虑到方便性,易维护,我推荐用js文件。
下面是个简单的js范例文件。
他的功能是:访问一个页面,如果发现这个页面异常重起iis服务。
把它部署到计划任务中,就可以对Web站点进行监控。
if(!CheckUrl())
{
WScript.Echo("iisreset");
var s = new ActiveXObject("WScript.Shell");
s.Run("iisreset");
}
else
{
WScript.Echo("OK");
}
function CheckUrl()
{
try
{
var xh=new ActiveXObject("Microsoft.XMLHTTP");
xh.open("GET","http://localhost/quickstart/aspplus/doc/businessobjs.aspx",false);
xh.send("");
return xh.status == 200;
}
catch( X )
{
return false;
}
}
以上使用 Microsoft.XMLHTTP 如果一个站点没有响应,他会一直等下去。改成 Msxml2.ServerXMLHTTP 就可以避免这个问题。参考下面函数:
function CheckUrl()
{
try
{
// 使用这个,可以设置超时时间,不用一直等待。
var xmlServerHttp = new ActiveXObject("Msxml2.ServerXMLHTTP");
var lResolve = 5 * 1000;
var lConnect = 5 * 1000;
var lSend = 15 * 1000;
var lReceive = 15 * 1000;
xmlServerHttp.setTimeouts(lResolve, lConnect, lSend, lReceive);
xmlServerHttp.open("GET", "http://localhost/quickstart/aspplus/doc/businessobjs.aspx", false);
xmlServerHttp.send();
return xmlServerHttp.status == 200;
}
catch( X )
{
return false;
}
}
如果你要访问的页面是需要身份验证的。
请参考:
oXMLHttpRequest.open(Method, Url, Async, User, Password)
http://www.w3schools.com/dom/dom_http.asp
以上解决方案,感谢Lostinnet和思归的帮助。
昨天下午听刘韧讲分类的问题,深有感触,特整理自己的观点如下:
(以下只是我个人的观点,不代表任何网站和其他人)
首先是分类的问题。
分类其实就是索引,我们应该按照网站服务对象的特征进行分类。
这些特征中,我们要挑选出一个最核心的特征。并按照这个特征进行分类。
这样出来的分类就是主分类。
其他特征对应的分类不是主分类。主分类只应该有一个。
比如:对社会中人的分类方法:家庭就是这个主分类,其他分类不是不重要。但是依照家庭分类可以解决我们绝大多数的问题。
下面我们看具体的网站分类。
以CSDN为例。目前CSDN的频道导航分类中有新闻、文档、社区等。
而没有Java,.net 这类的分类。这其实是有很严重问题的。
新闻、文档、社区 这些只是表现形式。他们不应该作为CSDN的主分类。
CSDN 的主分类应该是 .net 、Java、 Win32开发 、游戏开发 这些技术领域。
原因:CSDN 的服务对象是 开发者和开发相关企业。
绝大多数开发者和开发相关企业,都是属于某个领域。
这个领域,就是核心特证,也应该是主分类。而不是其他。
我们应该以这个主分类来贯穿整个CSDN.
主分类定了,就一定要坚持,任何小的修改,都要慎重。
CSDN 为此就吃过不少苦头,而且以后也会吃不少苦头。
比如:以前、包括这次文档中心的改版,文章的重新分类问题每次都是一个巨大的工作量。
而且,现在文档中心的分类跟论坛的分类不统一。下一步建立社区,这会造成很大的工作量。
我们再来看看其他网站。
博客堂。
先看 博客堂 的服务对象:
博客堂之所以火,是因为它并不是完全意义上的Blog
(完全意义上的Blog指WEB Log ,其实就是日记,任何东西都可以记)。
而是与微软技术相关的技术Blog。
来博客堂看Blog的人,是因为博客堂的这个纯才吸引不少回头客。
博客堂的服务对象是与微软技术相关的开发者。以及Blog 者。
但是博客堂不是完全意义上的Blog提供商。Blog提供商 的服务对象是Blog者。对他们来说,
主要服务对象是 Blog 者,所以按照作者分类应该是他们的主分类。
而博客堂的主要服务对象应该是与微软技术相关的开发者。也就是来看我们Blog的人。
所以,系列的整理Blog,应该是博客堂的一个必须要做的重点。
这样来博客堂的人,不仅仅可以看到最新的内容,还可以方便的看到分类的内容。
再看一些事业性单位的网站,一些民营企业的网站。
里面竟然有领导介绍之类的东西。而且分量不轻,我以前呆的一个网站就有这方面的内容。
显然他们把网站的服务对象定义成了需要看领导业绩的人。
这典型的把服务对象弄错了。更谈不上分类好坏的问题了。
下面我们再来看看命名的问题:
分类同时也是索引,是导航。 要能清晰的导航,最重要的问题就是导航名称不能让人产生误解。
所以定义性的名词是做导航名称的首选。
再以CSDN为例。CSDN 论坛命名中最失败的就是“灌水乐园”这个论坛的命名了。
“灌水乐园”这个论坛建立的初衷是:提供开发者一个休闲娱乐的场所。
结果你看在这次整顿之前灌水乐园最多的是那些东西??
1、政治帖子讨论;2、黄色帖子讨论;3、所谓的up,纯净水,蹭分之类的内容。
现在后两种还仍然非常多。
最初如果命名成“休闲咖啡屋”可能就会好多的。
“休闲茶馆”这个觉得不太好,老舍的“茶馆”中,国人习惯讨论那些东西,看看这点就觉得茶馆不如咖啡屋。
同在扩充话题的“程序人生” 命名就比“灌水乐园”要好些。
“程序人生”讨论的是程序员成长过程中的问题。而不是休闲娱乐的内容。
不过程序人生仍然会产生一些误解,一些人把休闲娱乐的东西也放到了“程序人生”。
这就是起名造成了歧义。个人理解不同。
另外要注意的一点,导航跟分类是有点区别的。
导航的目的是为了让你刚快的到你需要去的地方。
导航是根据访问量来区分的。它的目的是照顾大多数用户。
一个人气值并不高的分类,在主导航中,可能并不出现。
如果你使用的数据库连接类是 the Data Access Application Blocks "SqlHelper" 或者 SqlClient Class , 你在执行一个很费时的SQL 操作时候,可能就会碰到下面的超时异常。
---------------------------
---------------------------
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
---------------------------
OK
---------------------------
你会说,我在连接字符串中已经 设置了 Connect Timeout=80000 ,并且数据库中超时连接也是设置的值是一个很大的值。为啥到了30秒,仍然超时了呢??
这是因为:
你的设置并没有问题,是你混淆了 SqlCommand.CommandTimeout 和 SqlConnection.ConnectionTimeout 这两个的区别了。
你的连接字符串中的超时只是设置的 SqlConnection.ConnectionTimeout 的值,而不是设置的 SqlCommand.CommandTimeout 的值。
SqlHelper 中并没有 SqlCommand.CommandTimeout 的相关设置。需要你自己设置。
下面是两个的比较:
SqlCommand.CommandTimeout
获取或设置在终止执行命令的尝试并生成错误之前的等待时间。
等待命令执行的时间(以秒为单位)。默认为 30 秒。
SqlConnection.ConnectionTimeout
获取在尝试建立连接时终止尝试并生成错误之前所等待的时间。
等待连接打开的时间(以秒为单位)。默认值为 15 秒。
一些更详细的对这个问题的描述看:
http://www.eggheadcafe.com/PrintSearchContent.asp?LINKID=357
这个问题可以算是 SqlHelper 设计的时候,一个考虑不周的地方吧。
SqlCommand.CommandTimeout 的默认值是30,对于我写的大多数程序来说,这个值足够了。所以一直都没有发现SqlHelper的这个问题。今天在查本地一台比较差的机子上生成一个超长帖子(近4000个回复)无响应的问题时候,才发现SQLHelper 存在的这个问题。
今天在写一个SQL 语句的时候,发现一个怪异的问题,如果我加上 Order by ,返回的就不是我所需要的数据。如果不加,返回的数据结构才是我所需要的。极度郁闷。咨询了一下 邹建 ,他也碰到过很多关于 Order by 的问题。并且他自己写了一个范例 SQL 来演示这个问题。由于我那个问题SQL涉及到表和视图,比较麻烦,下面就用 邹建 写的那个范例来演示这个 Bug。他这个不涉及到表,有SqL 环境的都可以测试一下。
下面是演示这个 Bug 的SQL 语句。
--定义变量
declare @s varchar(30)
--生成字符串
set @s=''
select @s=@s+',['+convert(varchar( 6),dateadd(month,id,'2004-01-01'),112)+']'
from(
select id=0 union all select 1 union all select 2
) a
order by convert(varchar( 6) ,dateadd(month,id,'2004-01-01'),112)
--显示结果
select @s
/*--测试结果,显示不正确,如果去掉order by就正确了.
------------------------------
,[200403]
(所影响的行数为 1 行)
--*/
2004年6月9日 几个大论坛的统计数据
扩充话题, 2004年6月9日 发帖数:290 回复数:4312
.net区, 2004年6月9日 发帖数:589 回复数:4076
VC++区, 2004年6月9日 发帖数:335 回复数:1916
VB 区, 2004年6月9日 发帖数:185 回复数:1269
Sql Server 区, 2004年6月9日 发帖数:157 回复数:1015
WEB区, 2004年6月9日 发帖数:353 回复数:2321