ADO.NET 访问数据库的性能改善方法集合 [转]

l  总的考虑方向

    1) 根据数据使用的方式来设计数据访问层

    2) 缓存数据,避免不必要的操作

    3) 使用服务帐户进行连接

    4) 必要时连接,尽早释放

    5) 关闭可关闭的资源 阅读全文 >>

ASP.NET 中使用 Log4Net 记系统日志

Unmi原来一直是做 Java 的,凡是做 Java 的项目都会用到 Log4J 来记载日志,比如那些开源的框架,Struts/Hibernate/Spring 都有用到 Log4J, 系统日志成了一个必要的东西,没有它,软件出问题了很难去定位。

最近无奈间接手了一个 .NET 项目,代码一片混乱,又没有错误日志,只在不很紧要处用 LogEvent 写了些东西到系统事件日志中。经常的客户有对这个项目提些 TroubleShooting, 基本只能对代码走查找到问题所在,实在是累啊,而且有些问题可就无能为力了。所以希望在新的版本上线时有记录错误日志信息,这样以后发生错误就能根椐日志信息迅速定位到代码行以及了解到发生了何种具体异常。 阅读全文 >>

ASP.net从服务器端向客户端弹出alert对话框,但不使页面变成白板

在做ASP.net的项目时,碰到在页面上输入一些数据后,然后点击提交按钮,然后服务器端校验数据,如果数据不合格,用

Response.Write("<script>alert(' 用户名不存在!')</script>") 

向客户端推出一个警告窗口提示,这时候会发现,显示警告窗口的时候,在警告窗口的背面页面是一片空白,非得你按了警告窗口上的确定按钮,主页面才会显示出需要的内容。

为什么会出现一个页面白板呢?包括服务器端向客户端推出的 showModalDialog 模态窗口一样,用 Response.Wrtie()输出到客户端页面,可以通过查看生成页面的源文件,就能发现是在页面的最前面加上了 alert() 或 showModalDialog() js函数,这种警告窗口或模态窗口弹出来之后,将会阻止页面显示接下来的内容,所以您看到的就是一片空白,只有用户关了警告或模态窗口才会继续显示页面内容。那么怎么才能让显示 alert对话框或 showModalDialog 窗口时,主页面有内容显示呢?很简单,需要让生成的 html 中 alert 和 showModalDialog 处在显示内容的后面。 阅读全文 >>

用VS.NET开发asp.net时调试的时候出现错误,不能调试!

我用的是vs2003.net,原来本机安装的是IE6.0,现在换成了IE7.0,在vs2003.net中来调试C#写的ASP.net程序,启动时出现错误,不能调试
错误对话框是:
试图运行项目时出错:无法在Web服务器上启动调试。您不具备调试此应用程序的权限,此项目的URL位于Internet区域。有关更多信息,请单击"帮助"。

在网络上搜索找到下面这篇比较全面的资料:http://www.jxcn.cn/so/cnstu/3865/3865450.htm
--------------------------------------------------------------------------------
看一下网站的文件夹安全属性.是不是有操作权限.还有就是IIS的安全设置.要启用windows验证密码
-------------------------------------------------------------------------------- 阅读全文 >>

C# 及其特性

1.C#是一种从C++和Java继承而来的,简单的,现代的,面向对象的语言.
2.它的目标是综合Visual Basic高产和C++底层高效的特性.
3.它是Microsoft Visual Studio7.0 的一部分.
4.Visual studio支持Vb,VC++,C++,Vbscript,Jscript.所有这些语言提供对Microsft .NET平台的访问.
5..NET包括一个Common Execution引擎和一个丰富的类库.
6.Microsofts JVM eqiv就是Common language(通用语言)运行库(CLR).
7.CLR支持不止一种语言,诸如 C#,VB.NET,Jscript,ASP.NET,C++.
8.源代码--->中间语言代码(IL)--->(JIT 编译器)机器码. 阅读全文 >>

C#调用非托管动态库中的函数

C#如何调用一个非托管动态库中的函数呢,比如用VC6写的动态库,总之C#调用动态库的过程是比Java调用DLL动态库方便快捷多了,下面举例说明这个过程。

1。创建一个非托管动态库

代码如下:

注意上面代码,一定要加上 extern"C" ,不能生成的动态库中的导出函数名就不会是add,而是像 ?add@@YAHHH@Z 样子,后面只是通过函数名 add 来定位函数入口就会出问题。
阅读全文 >>

在VS.NET的VC++中运行控制台程序后暂停

在VC++6.0中运行控制台程序后,执行完后控制台会出现       Press any key to continue . . .  按任意键,控制台才消失。

但是换到在VC++7.0 (VS.NET的VC++)中编写的控制台程序,点击运行后,默认情况下马上把控制台关了,让你看不到输出结果。那么在这个IDE下如何让 Press any key to continue . . . 再次出现呢?

C++中实现"任意键暂停"对于要直接查看输出结果时很重要的,比如你用的是BC编辑器,不能像VC那样自己实现程序运行完后暂停,而是跳回到编辑状态,根本看不到运行结果。

有的人会用#include<conio.h>加上getch();来实现,其实完全不需要的……

用VC或BC编辑C++程序,不用像C语言中加入头文件conio.h ,然后用getch()来实现任意键暂停。

用system("pause");这个语句就可以,不过如果你想改变文字还是要用上面的办法。

其实在C语言中的stdlib.h的头文件中就有这个函数。