bobowu

2006年7月13日

好文推荐:通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行

这篇文章解决了这两年来不停搜索而找不到答案的几个问题,不得不推荐一下!!!
http://www.microsoft.com/china/msdn/library/webservices/asp.net/WebAppFollies.mspx?mfr=true

posted @ 2006-07-13 17:17 Bobo 阅读(108) 评论(0) 编辑

2006年7月11日

关于ASP.NET应用程序多服务器部署身份验证的问题

不同的二级域名的情况下的身份验证可以通过设置Cookie的Domain属性来实现。不过由于ASP.NET中发送的身份凭证是经过加密的,而且好像一般情况下每个服务器甚至每个应用程序发送回来的都是不一样的。之前在网上好像见过好像哪篇文章好像说过这个问题的解决办法,好像需要改到machine.config的一个密钥。今天Google了一下,结果找不出来了,可能是我搜索能力太差吧。只好重回MSDN的怀抱了,找forms元素的相关的内容。结果找到了machineKey 元素,看来只需在web.config文件中设置一下就一切搞定了,方便!!!MSDN解释如下:

对密钥进行配置,以便将其用于对 Forms 身份验证 Cookie 数据和视图状态数据进行加密和解密,并将其用于对进程外会话状态标识进行验证。该节可在计算机、站点和应用程序级别声明,但不在子目录级别声明。

<configuration>
   <system.web>
      <machineKey>

<machineKey validationKey="AutoGenerate|value[,IsolateApps]"
            decryptionKey="AutoGenerate|value[,IsolateApps]"
            validation="SHA1|MD5|3DES"/>

必选属性

属性 选项 说明
validationKey     指定用于验证加密数据的密钥。当 enableViewStateMACtrue 时,validationKey 用于创建消息身份验证代码 (MAC),以确保视图状态不会被篡改。validationKey 还可以用于生成进程外、应用程序特定的会话 ID,以确保每个会话具有独立的会话状态变量。
    AutoGenerate 指定 ASP.NET 生成随机密钥并将其存储在本地安全机构 (LSA) 中。AutoGenerate 选项是默认值。如果在 validationKey 值中添加 IsolateApps 修饰符,则 ASP.NET 用每个应用程序的应用程序 ID 为每个应用程序生成一个唯一的加密密钥。
    value 指定手动分配的验证密钥。该值必须手动设置以确保配置在整个 Web 服务器网络(网络场)上保持一致。该密钥的最小长度为 40 个字符(20 字节),最大长度为 128 个字符(64 字节)。如果所使用的密钥长度小于最大长度,则应通过真正的随机方式创建这些密钥,例如通过使用 RNGCryptoServiceProvider。推荐的密钥长度是 128 个十六进制字符。如果在 validationKey 值中添加 IsolateApps 修饰符,则 ASP.NET 用每个应用程序的应用程序 ID 为每个应用程序生成一个唯一的加密密钥。
decryptionKey     指定用于加密数据的密钥。当 validation 为 3DES 时,decryptionKey 用于 Forms 身份验证加密和解密以及视图状态加密。
    AutoGenerate 指定 ASP.NET 生成随机密钥并将其存储在 LSA 中。AutoGenerate 选项是默认值。如果在 decryptionKey 值中添加 IsolateApps 修饰符,则 ASP.NET 用每个应用程序的应用程序 ID 为每个应用程序生成一个唯一的加密密钥。
    value 指定一个手动分配的密钥。该值必须手动设置为十六进制字符串,以确保配置在整个网络场中保持一致。使用 DES 加密时,密钥长度应该为 16 个字符;而使用三重 DES 加密时,密钥长度应该为 48 个字符。如果所使用的密钥长度小于最大长度,则应通过真正的随机方式创建这些密钥,例如通过使用 RNGCryptoServiceProvider。只有在计算机使用 128 位加密的情况下,ASP.NET 才能使用三重 DES。如果在 decryptionKey 值中添加 IsolateApps 修饰符,则 ASP.NET 用每个应用程序的应用程序 ID 为每个应用程序生成一个唯一的加密密钥。
validation     指定数据验证使用的加密类型。
    SHA1 指定 ASP.NET 使用 SHA1 加密。
    MD5 指定 ASP.NET 使用 MD5 加密。
    3DES 指定 ASP.NET 使用三重 DES (3DES) 加密。当选择 3DES 时,Forms 身份验证默认值为 SHA1。当 validation 属性设置为 3DES 时,视图状态验证技术使用 3DES 加密方法。

posted @ 2006-07-11 11:26 Bobo 阅读(512) 评论(0) 编辑

2006年7月8日

前两年在MSDN里找到的HTC示例,一直没用过,先在这里存个备份

下载地址:http://files.cnblogs.com/bobowu/HTC%20Sample%20from%20MSDN.zip
包括:calendar、colorpick、coolbar、dataselect、imagerollover、mask、menu、movable、mpc、rowover、slider、tooltips
最近只用过movable来实现在地图的拖动效果,觉得挺不错的,其他的有空再慢慢研究了^-^

posted @ 2006-07-08 23:10 Bobo 阅读(301) 评论(0) 编辑

2005年11月1日

ASP.NET控件在2.0和1.1下运行的一个微小的差别

今天把之前做的程序改成在2.0的Framework下运行测试了一下,居然基本上都没有错,遗一的问题就是之前使用了那个使用httpmodule来处理的上传大文件的组件来上传文件居然上传不了。

继续测试下来居然在一个对话框中出现了JS错误,看了看源码居然2.0里子控件的NAME属性的规则居然和1.1下面的不一样,2.0下使用了$来分隔,而1.1下用的是: ,这个可是苦了我,之前那么多的复合控件中的JS不是都要重新检查过,不过项目暂时都还不会考虑在2.0下运行的情况就是了,以后写JS也多用ID来取控件值,而不要用NAME了,起码这个在2.0里没有变化。

posted @ 2005-11-01 17:04 Bobo 阅读(630) 评论(0) 编辑

2005年9月24日

使用不同编码的文本文件读取时有什么好的判断方法吗?

现在机器上的文本文件有好多都是使用不同的编码方式来存放的,如为了项目中的需要一般js文件我都使用UTF-8来存了,数据库导出的SQL文件一般都是Unicode编码的,而一般其他文件则都是使用默认的编码来存放。但最近想用程序中读取时就出现问题了,文件中的中文经常因为用读取的编码方式不对而出现乱码的情况。

    请问一下有没有什么好的方法来进行判断文件是使用哪种编码进行存放的?

posted @ 2005-09-24 09:03 Bobo 阅读(480) 评论(0) 编辑

2005年9月15日

求救:使用TransmitFile来下载文件时下载完之前其他页面都没有响应了

摘要: 之前使用.NET自带的上传文件的方式时也出现过上传过程中其他页面无反应的问题,后来用那个大文件上传的组件解决了,但这次做下载时又出现了这个问题(使用WriteFile时没有问题,但这个内存点用太大了,只能用于小文件)。哪位大侠可以说一下解决这个问题的办法啊。阅读全文

posted @ 2005-09-15 08:58 Bobo 阅读(519) 评论(0) 编辑

2005年8月15日

一个使用htc来实现的连续滚动公告栏

摘要: 写了很久了,一直没有优化过。调用的HTML代码:<DIVCLASS="ScrollViewDiv"ID="ScrollViewDiv">内容在这里。。。。。。</DIV>CSS代码.ScrollViewDiv{}{overflow:hidden;height:55px;width:100%;behavior:url(ScrollViewDiv.htc);}ScrollVie...阅读全文

posted @ 2005-08-15 17:11 Bobo 阅读(557) 评论(0) 编辑

2005年8月14日

XP+SP2和2003+SP1的文件下载问题

posted @ 2005-08-14 12:00 Bobo 阅读(303) 评论(0) 编辑

一个特牛的日期时间判断正则表达式

posted @ 2005-08-14 11:44 Bobo 阅读(403) 评论(0) 编辑

文件下载程序中发现的文件名过长的问题

posted @ 2005-08-14 11:30 Bobo 阅读(1698) 评论(0) 编辑

仅列出标题  

导航

统计

公告