程序支持 IIS6 - Web Garden
[ 2005-06-15 15:28:22 | 作者: admin ]
你的程序支持 IIS6 - Web Garden 吗?
很就没有更新BLOG了呵呵。 刚过来深圳,时间都是乱来的~~~
今天帮客户搞定一个部署上的问题,花了我半天的时间。。555。
后来才发现原来是IIS6 Web Garden的问题。
IIS6 Web Garden 指的是一个应用程序可以成多个进程(w3wp.exe)来执行,一次请求使用其中的一个。用这个的主要目的是提高程序的可用性。当其中一个进程发生错误,那么也不会影响其他进程。发生错误的进程可以根据规则关闭,而其他的进程则可以继续工作。
可惜不是每个应用程序都支持Web Garden的。 例如我做的那个就不是。
一般来说 , 不支持 Web Garden 的原因是各应用程序的内存状态是不同的。虽然是访问同一个网站 , 当访问第一个进程时,进程的内存如果纪录了某些重要的信息,而当访问第二个进程...
阅读全文…
很就没有更新BLOG了呵呵。 刚过来深圳,时间都是乱来的~~~
今天帮客户搞定一个部署上的问题,花了我半天的时间。。555。
后来才发现原来是IIS6 Web Garden的问题。
IIS6 Web Garden 指的是一个应用程序可以成多个进程(w3wp.exe)来执行,一次请求使用其中的一个。用这个的主要目的是提高程序的可用性。当其中一个进程发生错误,那么也不会影响其他进程。发生错误的进程可以根据规则关闭,而其他的进程则可以继续工作。
可惜不是每个应用程序都支持Web Garden的。 例如我做的那个就不是。
一般来说 , 不支持 Web Garden 的原因是各应用程序的内存状态是不同的。虽然是访问同一个网站 , 当访问第一个进程时,进程的内存如果纪录了某些重要的信息,而当访问第二个进程...
阅读全文…
获取高精度的时间差,可以用来分析页面运行时间的长短
[ 2005-06-15 15:24:36 | 作者: admin ]
DateTime.Now的精度是很低,这个低的意思是,两次获取的DateTime.Now的Ticks的差,只是一个较大数的整数倍。例如在我的机器上,这个差最小是10.114ms。所以,如果我用DateTime.Now来计算时间差,那么就无法精确到10ms以内。
后来发现ASP.NET的TRACE的精度很高,用Reflector看它的实现,发现了它是使用这两个方法的:
参考MSDN:How To: Time Managed Code Using QueryPerformanceCounter and QueryPerformanceFrequency
我自己了按照这个写了个类,代码如下
using System;
using System.Runtime.InteropServices;
public class A
{
[DllImport("kernel32.dll")]
...
阅读全文…
后来发现ASP.NET的TRACE的精度很高,用Reflector看它的实现,发现了它是使用这两个方法的:
参考MSDN:How To: Time Managed Code Using QueryPerformanceCounter and QueryPerformanceFrequency
我自己了按照这个写了个类,代码如下
using System;
using System.Runtime.InteropServices;
public class A
{
[DllImport("kernel32.dll")]
...
阅读全文…
c#通常什么地方遇到数据库为空 System.DBNull.Value
[ 2005-06-15 15:10:44 | 作者: admin ]
p.s. 读取数据到DataView时(特别是使用left join),经常会遇到值为数据库空为NULL,这个时候需要用 System.DBNull.Value 来判断
通常你会在什么地方遇到DBNull?
今天不只被外包,还要跑到虹桥机场去帮忙实施。可惜来到这里又好象没有什么事干。。:) 刚好可以写写Blog 。
刚好这几天写数据库操作比较多,是时候写写关于DBNull的东西了。
DBNull在DotNet是单独的一个类型 System.DBNull 。它只有一个值 DBNull.Value 。DBNull 直接继承 Object ,所以 DBNull 不是 string , 不是 int , 也不是 DateTime 。。。
但是为什么 DBNull 可以表示数据库中的字符串,数字,或日期呢?原因是DotNet储存这些数据的类(DataRow等)都是以 object 的形式来储存数据的。
...
阅读全文…
通常你会在什么地方遇到DBNull?
今天不只被外包,还要跑到虹桥机场去帮忙实施。可惜来到这里又好象没有什么事干。。:) 刚好可以写写Blog 。
刚好这几天写数据库操作比较多,是时候写写关于DBNull的东西了。
DBNull在DotNet是单独的一个类型 System.DBNull 。它只有一个值 DBNull.Value 。DBNull 直接继承 Object ,所以 DBNull 不是 string , 不是 int , 也不是 DateTime 。。。
但是为什么 DBNull 可以表示数据库中的字符串,数字,或日期呢?原因是DotNet储存这些数据的类(DataRow等)都是以 object 的形式来储存数据的。
...
阅读全文…
ASP调用.NET编写的组件
[ 2005-06-07 14:10:11 | 作者: admin ]
ASP调用.NET编写的组件
切换到MS-DOS命令行下面,运行:
C:\>regasm ClassLibrary1.DLL [/regfile:ClassLibrary1.reg]
regasm需要指定路径
/regfile:ClassLibrary1.reg 生成一个自动注册表代码,可以不要
总结一下今天碰到的一个问题:
之前用C#写了一个组件,现在有一个asp的程序也要使用同样的功能,也就是要让asp调用这个.net程序集
OK, 下面开始:
1. regasm ConvertHelper.dll /tlb:ConvertHelper.tlb
2. 在asp程序中使用.
在第2步时提示CreateObject出错,
然而,在我设置了:项目名称->点右键"属性"->配置属性->生成->将"为Com Interop注册"...
阅读全文…
切换到MS-DOS命令行下面,运行:
C:\>regasm ClassLibrary1.DLL [/regfile:ClassLibrary1.reg]
regasm需要指定路径
/regfile:ClassLibrary1.reg 生成一个自动注册表代码,可以不要
总结一下今天碰到的一个问题:
之前用C#写了一个组件,现在有一个asp的程序也要使用同样的功能,也就是要让asp调用这个.net程序集
OK, 下面开始:
1. regasm ConvertHelper.dll /tlb:ConvertHelper.tlb
2. 在asp程序中使用.
在第2步时提示CreateObject出错,
然而,在我设置了:项目名称->点右键"属性"->配置属性->生成->将"为Com Interop注册"...
阅读全文…
.NET组件和COM组件之间的相互操作
[ 2005-06-07 13:10:30 | 作者: admin ]
.NET组件和COM组件之间的相互操作
(技术巅峰 2001年10月18日 19:10)
.NET技术是微软大力推广的下一代平台技术,自从.NET技术架构Beta2版本的正式发布,此项技术也逐渐走向成熟和稳定。按照微软的平台系统占有率,我们不难想象得到,在未来的一两年内.NET技术必定会势如破竹一般的登上主流的技术平台,而一个新的技术平台得以快速发展的最重要的前提是:他不会彻底的摒弃以前的技术,这一点对于.NET技术来说指的就是COM/COM+技术了。
一般来说,在IT技术界以及硬件产业,技术的更新换代速度非常得惊人,而惯例是所有的新技术都会遵循向下兼容的原则,但是.NET技术不仅仅做到了这一点,.NET甚至实现了相互之间的各自调用,这一点是非常难能可贵的。也就是说,不但我们可以在.NET组件中调用COM组件,同时也可以在COM组件中正常的调用.NET组件。这点带来的好处是显...
阅读全文…
(技术巅峰 2001年10月18日 19:10)
.NET技术是微软大力推广的下一代平台技术,自从.NET技术架构Beta2版本的正式发布,此项技术也逐渐走向成熟和稳定。按照微软的平台系统占有率,我们不难想象得到,在未来的一两年内.NET技术必定会势如破竹一般的登上主流的技术平台,而一个新的技术平台得以快速发展的最重要的前提是:他不会彻底的摒弃以前的技术,这一点对于.NET技术来说指的就是COM/COM+技术了。
一般来说,在IT技术界以及硬件产业,技术的更新换代速度非常得惊人,而惯例是所有的新技术都会遵循向下兼容的原则,但是.NET技术不仅仅做到了这一点,.NET甚至实现了相互之间的各自调用,这一点是非常难能可贵的。也就是说,不但我们可以在.NET组件中调用COM组件,同时也可以在COM组件中正常的调用.NET组件。这点带来的好处是显...
阅读全文…
为DataGrid添加自动编号功能
[ 2005-06-03 21:46:00 | 作者: admin ]
DataGridWithLine.aspx
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="DataGridWithLine.aspx.vb"
Inherits="aspxWeb.DataGridWithLine"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>DataGridWithLine</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.0">
<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
...
阅读全文…
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="DataGridWithLine.aspx.vb"
Inherits="aspxWeb.DataGridWithLine"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>DataGridWithLine</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.0">
<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
...
阅读全文…
剖析 .NET 托管提供程序 分析ado.net
[ 2005-06-03 21:34:27 | 作者: admin ]
剖析 .NET 托管提供程序
发布日期: 4/1/2004 | 更新日期: 4/1/2004
Dino Esposito
Wintellect
2001 年 10 月 9 日
与成熟的 OLE DB 提供程序相比,Microsoft .NET 托管提供程序有许多优点。首先,它实现了简化的数据访问结构,这种结构常常可提高性能,同时又不影响功能方面的能力。此外,.NET 托管提供程序通过方法和属性直接向使用者提供特定于提供程序的行为。它使用的接口集合也比 OLE DB 提供程序要少的多。最后但并非最不重要的是,.NET 托管提供程序工作在公共语言运行库 (CLR) 的边界内,无需 COM 交互。对于 SQL Server 7.0 和 SQL Server 2000 而言,托管提供程序直接挂接到线路级,获得了显著的性能优势。
.NET 数据提供程序提供的功能可分为以下两类:
...
阅读全文…
发布日期: 4/1/2004 | 更新日期: 4/1/2004
Dino Esposito
Wintellect
2001 年 10 月 9 日
与成熟的 OLE DB 提供程序相比,Microsoft .NET 托管提供程序有许多优点。首先,它实现了简化的数据访问结构,这种结构常常可提高性能,同时又不影响功能方面的能力。此外,.NET 托管提供程序通过方法和属性直接向使用者提供特定于提供程序的行为。它使用的接口集合也比 OLE DB 提供程序要少的多。最后但并非最不重要的是,.NET 托管提供程序工作在公共语言运行库 (CLR) 的边界内,无需 COM 交互。对于 SQL Server 7.0 和 SQL Server 2000 而言,托管提供程序直接挂接到线路级,获得了显著的性能优势。
.NET 数据提供程序提供的功能可分为以下两类:
...
阅读全文…
如何在删除并重新安装 IIS 之后修复 IIS .net 映射
[ 2005-06-03 21:31:32 | 作者: admin ]
如何在删除并重新安装 IIS 之后修复 IIS 映射
运行 Aspnet_regiis.exe 实用工具:
单击“开始”,然后单击“运行”。
在“打开”框中,键入 cmd,然后按 Enter 键。
在命令提示符下键入以下命令,然后按 Enter 键:
"%windir%\Microsoft.NET\Framework\版本\aspnet_regiis.exe" -i
在此路径中,版本代表在服务器上安装的 .NET Framework 的版本号。键入此命令时,必须将此占位符替换为实际版本号。
注册 Aspnet_isapi.dll:
单击“开始”,然后单击“运行”。
在“打开”文本框中,键入以下内容,然后按 Enter 键:
regsvr32 %windir%\Microsoft.NET\Framework\版本\aspnet_isapi.dll
Regsvr32 将返回注册结果。
运行 Aspnet_regiis.exe 实用工具:
单击“开始”,然后单击“运行”。
在“打开”框中,键入 cmd,然后按 Enter 键。
在命令提示符下键入以下命令,然后按 Enter 键:
"%windir%\Microsoft.NET\Framework\版本\aspnet_regiis.exe" -i
在此路径中,版本代表在服务器上安装的 .NET Framework 的版本号。键入此命令时,必须将此占位符替换为实际版本号。
注册 Aspnet_isapi.dll:
单击“开始”,然后单击“运行”。
在“打开”文本框中,键入以下内容,然后按 Enter 键:
regsvr32 %windir%\Microsoft.NET\Framework\版本\aspnet_isapi.dll
Regsvr32 将返回注册结果。