返回   cpper编程论坛 > Blog
注册账号 论坛帮助 会员列表 日历事件 搜索 今日新帖 标记版面已读

旧

在使用Passport认证的网站返回401错误代码

发表于 2006-11-23 05:46 PM 作者: Innocentius
最近做的一个ASP.NET项目使用了Passport认证,但是与常规使用Passport的网站不同,如果认证失败应当返回401而不是重定向到Passport网站或者返回什么提示重定向的HTML。
这件事情困扰了我好久,我就不明白为什么将 StatusCode 设置为 401,但是实际客户端得到的居然是 200。查阅了所有 Passport SDK 文档也没有结果,最后只能祭器最终法宝:.NET Reflector,看看到底是怎么回事。
在 System.Web.Security.PassportAuthenticationModule 中的代码显示出,它的 OnLeave 方法被连接到 WebApplication 的 EndRequest 事件上。在这个方法中有下面的代码:

...
Innocentius 的头像
版主
发表在 未分类
评论 0 Innocentius 当前离线
旧

一个怪异的服务器问题

发表于 2006-08-21 01:42 PM 作者: Innocentius
最近帮一个朋友测试服务器,其中一个测试项目是每次传送数据后立刻断开连接。然而测试开始没几 分钟,客户端就报告了大量的错误,错误原因是 only one usage of each socket address (protocol/network address/port) is normally permitted”. 用 netstat 查看客户端的连接情况,发现有大量的状态为 TIME_WAIT 的连接存在。Google 以后确定 原因在于 TCP 会在关闭 Socket 之后继续占用端口一段时间,在这段时间内,如果要创建新的连接,...
Innocentius 的头像
版主
发表在 未分类
评论 0 Innocentius 当前离线
旧

C++ XML 序列化器

发表于 2006-08-04 10:46 AM 作者: Innocentius
XML 序列化器
最近试图编写一个C++的XML序列化器,目前实现了一些基本的功能。为了开发一个XML序列化器,首先要有XML读取器(Reader)和书写器(Writer)。我实现了两个简单的XML Reader和Writer:
代码:
    class SimpleXmlElement
    {
    public:
        enum NodeType
        {
            UNKNOWN,
            ATTRIBUTE,
            ELEMENT,
            ENDOFELEMENT
        };
    private:
        friend class SimpleXmlReader;
    public:
        NodeType GetType() const;
...
Innocentius 的头像
版主
发表在 未分类
评论 2 Innocentius 当前离线
旧

sscli 2.0 简介

发表于 2006-05-10 07:29 PM 作者: Innocentius
Microsoft 发布了 sscli 2.0,所谓的 sscli 就是 Shared Source CLI。基本上是 .NET Framework 2.0 的 Microsoft 实现,当然是实际发布的 .NET Framework 2.0 的一个简化版本。

sscli 2.0 中包含很多有趣的东西,包括:
  1. vm - 包含了 CLI 核心实现,包括垃圾收集器、类装入器、类型系统、错误报告系统、应用程序域、配件、代理支持、反射、安全性和代码管理器。
  2. csharp - 包含了使用 C++ 编写的 C# 编译器(csc.exe)和配件连接器。
  3. classlibnative - 包含了公共类型和国际化例程。
  4. ipcman
...
Innocentius 的头像
版主
发表在 未分类
评论 1 Innocentius 当前离线
旧

PScript 脚本(进一步的特征)

发表于 2006-04-18 11:10 AM 作者: Innocentius
PScript具有进一步的特征,包括作用域、引用和动态对象等。

作用域

PScript具有作用域的概念。作用域是由BEGIN……END括起来的范围,下面的语句定义了两个作用域:
代码:
Declare a;
A=1;
 Begin
  Declare a;
  A=2;
   Print(a);
End;
 Print(a);
这段程序显示:
2
1
这表明在BEGIN内的Declare语句声明了一个新的变量A,并且A=2是针对这个新变量进行赋值的,因此没有影响外部作用域中的变量A的值。
默认情况下,名字的查找是由内部作用域向外部作用域进行查找,如果没有找到,则在最内部的作用域创建一个新变量。但是也可以指定从外部作用域向内部作用域查找,方法是在名字前加上“.”。例如:
代码:
Declare a;
A=1
 Begin
...
Innocentius 的头像
版主
发表在 未分类
评论 0 Innocentius 当前离线

所有时间均为格林尼治时间 +9。现在的时间是 02:09 PM


Powered by vBulletin® 版本 3.7.0
版权所有 ©2000 - 2008,Jelsoft Enterprises Ltd.
(C) Copy Right All Right Reserved 2001 - 2007

Search Engine Friendly URLs by vBSEO 3.1.0