浏览模式: 普通 | 列表

.NET Tips: 正确获取当前URL

[ 2005-11-17 09:13:49 | 作者: admin ]
.NET Tips: 正确获取当前URL
获取当前URL我一直使用HttpContext.Current.Request.Url.ToString(),今天Tinyfool指出我的一个Bug,调试发现,ToString()函数并不可靠。

如果当前URL为
http://localhost/search.aspx?user=tinyfool&tag=%BC%BC%CA%F5
通过HttpContext.Current.Request.Url.ToString()获取到的却是
http://localhost/search.aspx?user=tinyfool&tag=¼¼Êõ
这显然不对,怎么办?用HttpContext.Current.Request.Url.PathAndQuery好了,这个得到的正确的。:)

摘录的.net开发笔记资料

[ 2005-11-12 15:32:14 | 作者: admin ]
开发笔记资料
1. 数据验证
public static bool ValidateUserid(string inString)
{
    Regex r = new Regex("^[A-Za-z0-9]{8}$");
    return r.IsMatch(inString)
}

^[A-Za-z0-9]{8}$ 8个字的种子


2. 后期绑定
<%# DataBinder.Eval(Container.DataItem,"price","{0:c}") %> 货币格式


3. 注册客户端脚本
string sClose = null;
sClose = @"<script language = javascript>
                    window.close();
                    </script>";
...

阅读全文…

常用的数据库操作函数

[ 2005-11-12 15:31:39 | 作者: admin ]
public DataSet ReadDB(string SqlCmd)
    {
      SqlConnection conn=new SqlConnection(SqlConn);
      SqlDataAdapter da=new SqlDataAdapter(SqlCmd,conn);
      DataSet ds=new DataSet();
      da.Fill(ds);
      da.Dispose();
      return ds;
    }
    public DataSet ReadDB_OLEDB(string OleCmd)
    {
      OleDbConnection conn=new OleDbConnection(OleConn);
      OleDbDataAdapter da=new OleDbDataAdapter(OleCmd,conn);
      DataSet ds=new DataSet();
...

阅读全文…

连接池问题

[ 2005-11-12 15:30:55 | 作者: admin ]
当连接打开时,将根据一种精确的匹配算法来创建连接池,该算法会使连接池与连接中的字符串相关联。每个连接池都与一个不同的连接字符串相关联。当新连接打开时,如果连接字符串不精确匹配现有池,则将创建一个新池。

在以下示例中,将创建三个新的 SqlConnection 对象,但只需要使用两个连接池来管理这些对象。请注意,第一个和第二个连接字符串的差异在于为 Initial Catalog 分配的值。

SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Integrated Security=SSPI;Initial Catalog=northwind";
conn.Open();
// Pool A is created.

SqlConnection conn = new SqlConnection();
...

阅读全文…

关于关闭数据库Close

[ 2005-11-12 15:27:39 | 作者: admin ]
数据库应该先关闭close,然后再释放资源dispose


finally
            {
               MyConn.Close();
            }

这句并不合理,最好是判断一下,MyConn是否打开的,否则将可以抛出另外的异常。

关于SqlDataAdapter:
如果你使用SqlDataAdapter类openConnection()
和closeConnection()都是多余的。
你在页面上使用了适配器,适配器会自己打开连接,而且是在“不知道什么时候”打开的,反正它是保持好它要用的时候是开的,至于什么时候开就不知道了。所以在使用适配器的地方,打开连接前要先判断状态(养成任何地方打开前先判断是好习惯)

设置定长字符串

[ 2005-11-12 15:26:23 | 作者: admin ]
string[] result = new string[20];
这样不好,可以考虑使用ArrayList

禁止服务器缓存的问题

[ 2005-11-12 15:15:09 | 作者: admin ]
in Page_Load event:
Response.Cache.SetNoServerCaching();
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Response.Cache.SetExpires(new DateTime(1900,01,01,00,00,00,00));

.NET推荐的工具

[ 2005-11-12 14:56:20 | 作者: admin ]
.NET我曾经尝试用过了大量的工具,现在说说我推荐的工具吧:)

  源码查看工具:
  Reflector   
  不多说了。

  加密与混淆工具:
  Xeno2005
  引用别人的介绍:一款为.NET平台下的开发人员设计的功能强大、灵活和易于使用的代码保护及优化的工具,该软件的.NET分析和重编译引擎保护用户的代码反编译,提高增强程序性能以及提供对.NET框架的支持,包括MC++和Satellite Assemblies

  数据库建模工具:
  Visio  
  针对于Sql Server 2000,可以采用Visual Studio2003光碟包中自带的Visio,支持正向生  成与反向工程。但Visio在针对其它数据库的支持上有许多问题存在,具体的问题列表,可以查看Visio安装目录上的文档说明。Visio无论用于数据库模型建模...

阅读全文…