随笔 - 45, 评论 - 1119, 引用 - 114

导航

标签

每月存档

最新留言

  • 回复: Google Talk
    本人:男 <br> 重慶 <br> 22歲 <br>2006ranyi@163.com
    by king(匿名) on 2008/2/13 15:35:00
  • 回复: Google Talk
    喜欢说英语的朋友,快加我吧!selin1991@yahoo.cn
    by selin(匿名) on 2008/2/12 11:01:00
  • 回复: Google Talk
    喜欢说英语的朋友,快快加我吧!
    by selin(匿名) on 2008/2/12 10:59:00
  • 回复: InstallShield 10.5
    请教一个问题! <br>用InstallShield 11.5 做了打包程序,编译创建成功后,运行安装程序,出现下面错误: <br> <br>“安装所需的CAB文件...
    by sundp(匿名) on 2008/1/9 14:48:00
  • 回复: InstallShield 10.5
    nq123@sina.com <br>传我一个教程,谢谢!
    by nq(匿名) on 2008/1/4 12:20:00
  • 回复: Google Talk
    欢迎游戏机行业的朋友加我:huanya88@gmail.com
    by 环亚电子(匿名) on 2007/12/28 17:55:00
  • 回复: Google Talk
    请发邀请 fang828@live.com
    by 小风(匿名) on 2007/12/27 16:49:00
  • 回复: InstallShield X 之一 演变
    我也急需要一份installshield12中文教程以及它的安装包,请哪位大侠给我一份.不胜感激. <br> <br>xingting496029631@126.com
    by 急啊(匿名) on 2007/12/27 15:13:00
  • 回复: InstallShield 10.5
    项目A的原来版本为2.01.01,现在的需求是用Installshield 11.5来打项目A的升级版本2.01.02,等客户在安装2.01.02的时候提示是否进行升级,如果客户选择了升级安装,则用2...
    by ligang(匿名) on 2007/12/26 11:27:00
  • (临时广告)招聘.net工程师(北京)
    要求: <br> <br>1.一年年以上开发经验(能力突出者可不受工作经验限制); <br>2.精通ASP.NET开发,熟悉.NET平台框架; <br>...
    by sgs(匿名) on 2007/12/5 13:12:00
  • 回复: Google Talk
    谢谢 sundeepblue@21cn.com
    by tian(匿名) on 2007/11/18 16:58:00
  • 回复: InstallShield 10.5
    tyj3@163.com <br> <br>发我一个,非常感激~!
    by tyj(匿名) on 2007/11/14 12:09:00
  • 回复: InstallShield X 之一 演变
    急需10.0的教程. <br>317953999@qq.com
    by 描述的空(匿名) on 2007/11/5 16:57:00
  • 回复: InstallShield X 之一 演变
    急需10.0的教程
    by 111(匿名) on 2007/11/5 16:56:00
  • 回复: Google Talk
    邀请我吧,拜托.我的邮箱是:xzongy@gmail.com
    by 贝贝(匿名) on 2007/11/2 12:53:00
  • 回复: InstallShield X 之一 演变
    我也急需要一份installshield10.5中文教程以及它的安装包,请哪位大侠给我一份.不胜感激. <br> <br>gavin_l_315@hotmail.com
    by gavinl315(匿名) on 2007/10/31 16:04:00
  • 回复: InstallShield X 之一 演变
    哪位仁兄有教程,发给俺一份,谢谢咯:) <br>drinkworld@163.com
    by 侠之小者(匿名) on 2007/10/17 14:26:00
  • 回复: Google Talk
    你好!我等gmail号码已经好长时间了,就是申请不下。可以邀请我吗?我的联系方式是beyondboy198406@yahoo.com.cn
    by luzhixing(匿名) on 2007/10/13 10:48:00
  • 回复: InstallShield X之二 WebForm安装-3 Application Data
    怎么才能在安装时将文件放到系统的system32路径下?
    by devilgavin(匿名) on 2007/10/12 15:25:00
  • 回复: InstallShield X 之一 演变
    installshield10.5中文教程和帮助给我一份,感激感激! <br>QQ 281567443 <br>Email:jeefo@163.com <br> ...
    by jeefo(匿名) on 2007/10/11 12:50:00
  • 回复: Google Talk
    我刚注册了一个,有50个邀请。谁要? <br>loveklose@gamil.com
    by 淘淘(匿名) on 2007/10/9 15:58:00
  • 回复: Google Talk
    talk
    by yonghonggao(匿名) on 2007/10/8 21:49:00
  • 回复: 上周五WebCast SilverLight & orcas的几个Sample
    <a target="_new" href="http://video-gratis-di-jessica-alba.ammucchiata-thn.cn"...
    by lensky(匿名) on 2007/10/7 6:49:00
  • 回复: Google Talk
    我也要一个,都下载好的, 就是没有帐号,我的邮箱是:han19830107@126.com 谢谢啦! <br>
    by 韩洪岩(匿名) on 2007/9/18 13:15:00
  • 回复: Google Talk
    Please add me if you have Gtalk. <br>polarishu2@gmail.com
    by polaris(匿名) on 2007/9/16 17:30:00

广告

实现自定义page基类时需要注意的地方

自定义Page集类可以带来很多好处,如统一处理Cookie,安全性,参数等。不过在继承System.Web.UI.Page实现自己的BasePage时需要注意一点:谨慎的处理构造器(Constructor)中涉及的代码。如果疏忽了这点,可能会导致你在Vs.Net中无法所见即所得的编辑Aspx页面,打开页面时将抛出以下错误,你只能看到Html代码界面。

 

导致这一错误的最大可能的原因就是你在BasePage的构造器里使用了HttpContext的内容。而Vs.Net在显示所见即所得的Aspx页面时会初始化你的BasePage类,这时候如果使用了Request,Response等类时,由于HttpContext并不存在(因为不是在IIS环境中,没有PageFactory传递过来Http上下文),所以在初始化类时就抛出了NullReferenceException。

为了解决此问题,最好将访问HttpContext的代码放到OnInit中,如下:

  protected override void OnInit(EventArgs e)
  {
      base.OnInit (e);
      HttpCookieCollection cookies = HttpContext.Current.Request.Cookies;
  }

这一override方法指示在PageHandler阶段被首先调用,而Vs.Net显示页面时并不会调用此方法,所以不会产生NullReferenceException。

如果你确实需要在构造器中进行某些Field的初始化等工作,这时又需要使用Request等内容,那么就需要先判断HttpContext是否为Null。如下:

 public class BasePage : Page
 {
    public BasePage()
    {
         if(HttpContext.Current != null)
         {
             HttpCookieCollection cookies = HttpContext.Current.Request.Cookies;
         }
     }
  }

 

posted on 2005-09-27 17:10:00 by hopeq  评论(4) 阅读(5867)

中文与韩、日文混排出现在Gb2312编码的Aspx的处理方法

   有一个Web项目,Web.Config中requestEncoding和responseEncoding都是gb2312,而从数据库中取出的简介数据可能是中文和韩、日文混合的内容,这时候如果直接输出到页面上,其页面会出现乱码,其中的韩文内容无法正确显示。当然如果项目的编码都使用Utf-8的话将没有这个问题,但这个项目是一个老项目,为了尽量不要影响已有的程序,所以无法将编码改为Utf-8,只能在本页面上动脑筋。

   经过研究,发现这个问题可以通过Html实体的方法解决。

对于Html实体请参考:

Character entity references in HTML 4

HTML Document Representation

测试代码:

Byte[] bComments = Encoding.UTF8.GetBytes("一ンブル????中文");
   char[] cComments = Encoding.UTF8.GetChars(bComments);
   
   StringBuilder charBuilder = new StringBuilder();   
   foreach(char c in cComments)
   {
    if(c > '\u0800')
    {
     charBuilder.Append("&#");
     charBuilder.Append((int)c);
    } 
    else
    {
     charBuilder.Append(c);
    }
   }
   Response.Write(charBuilder.ToString());

这段代码的作用是将所有的中文、韩文、日文字符通过硬编码输出成为html实体。而Html实体是不受ResponseEncoding和页面编码集影响的。

说明:

\u0800 以上的为中、韩、日字符。

中文的范围:\u4e00 - \u9fa5,日文在\u0800 - \u4e00,韩文为\u9fa5以上。

这个方法仅仅是为了解决小范围问题,如果各位有更好的办法请指教。

posted on 2005-09-26 17:24:00 by hopeq  评论(6) 阅读(6403)

Dlinq Overview 1

1.实体类:

[Table(Name="Customers")]
public class Customer
{
public string CustomerID;

public string City;
}

使用Attribute定义ORM的关系,这样的好处是无需产生和维护大量映射文件。

[Table(Name="Customers")]
public class Customer
{
[Column(Id=true)]
public string CustomerID;

[Column]
public string City;
}

通过Attribute自定义列,定义主键(PK)……

   2.数据上下文         

// DataContext takes a connection string

DataContext db = new  DataContext("c:\\northwind\\northwnd.mdf");

// Get a typed table to run queries
Table<Customer> Customers = db.GetTable<Customer>();

// Query for customers from London
var q =
from c in Customers
where c.City == "London"
select c;

foreach (var cust in q)
Console.WriteLine("id = {0}, City = {1}", cust.CustomerID, cust.City);

            这个比较猛,直接写查询,from in where select都成了关键字。直接在对象上进行查询不再考虑数据库了。并且范型化了。

            看到var,众位做过asp的兄弟是不是很亲切阿,这是动态语言(解释语言)的特性,变量定义时不定义类型,不过这里应该不是动态语言,应该是根据上下文在编译时确定类型的。

 

Northwind db = new Northwind("c:\\northwind\\northwnd.mdf");

var q =
from c in db.Customers
where c.City == "London"
select c;

         foreach (var cust in q)
         Console.WriteLine("id = {0}, City = {1}",cust.CustomerID, cust.City);

         简单写法。

 

public partial class Northwind : DataContext
{
   public Table<Customer> Customers;
   public Table<Order> Orders;

   public Northwind(string connection): base(connection) {}
}

继承一下,表成了成员了。

 

3.关系定义

 

[Table(Name="Customers")]
public class Customer
{
   [Column(Id=true)]
   public string CustomerID;
   ...

   private EntitySet<Order> _Orders;

   [Association(Storage="_Orders", OtherKey="CustomerID")]
   public EntitySet<Order> Orders 
{
     get { return this._Orders; }
     set { this._Orders.Assign(value); }
   }
}

[Table(Name="Orders")]
public class Order
{
   [Column(Id=true)]
   public int OrderID;

   [Column]
   public string CustomerID;

   private EntityRef<Customer> _Customer;   

   [Association(Storage="_Customer", ThisKey="CustomerID")]
   public Customer Customer {
     get { return this._Customer.Entity; }
     set { this._Customer.Entity = value; }
   }
}

Customer和Order是一对多关系,Customer中EntitySet是实体集合,即此Customer对应的orders,而Association来定义关系(在Property定义),OtherKey表示Order中的CustomerID是此关系的Key。而Order中EntityRef表示这是一个实体引用,用于返回Customer实体,他也是为了支持延时加载(Lazy)用的。Storage是为了表示该Property所对应的成员。

posted on 2005-09-14 15:36:00 by hopeq  评论(17) 阅读(4608)

ObjectSpaces一去不复返,DLinQ浴火重生

.Net Beta2中消失的ObjectSpaces正式成为了过去,而DLinq从ObjectSpaces的灰烬出生了。DLinq是在分析了ObjectSpaces的反馈之后重新设计的ORM Solutions。

DLinq:.NET Language Integrated Query for Relational Data,DLinq和XLinq(for Xml)共同组成了.net 3.0的关键部分——LinQ(:.NET Language Integrated Query ),即语言级集成查询能力。

DLinq是在分析了ObjectSpaces的反馈之后重新设计的ORM Solutions,作为更先进的查询数据库得到对象并且持久化对象的方式,DLinq将不再使用ObjectSpaces的mapping文件方式,而是使用了attribute 来进行mapping的定义。当然现在也有一些采用attribute 方式的Solutions,如XPO:http://www.devexpress.com/Products/NET/XPO/。不过DLinq的第一大特点将是任何ORM方案难以匹敌的,那就是语言级别的查询集成。这是目前ORM阵营(无论是.net、java或者其他)中都难以做到的。毕竟Linq是Anders Hejlsberg在主导(猜测,因为Demo和Channel9 video都是他),而这也是.net 3.0的主要提升啊。

此文依据 Dinesh Kulkarni(Program Manager Visual C#,working on C# 3.0

http://blogs.msdn.com/dinesh.kulkarni/archive/2005/09/13/465089.aspx

posted on 2005-09-14 14:47:00 by hopeq  评论(6) 阅读(7507)

eBay 拿下了Skype(2.6 billion $)

Voip IM越来越精彩了

http://investor.ebay.com/event.cfm

posted on 2005-09-13 16:58:00 by hopeq  评论(4) 阅读(4334)

Age of Empires III Demo

 Demo版包只含单人对战模式,只有2个种族,地图也只有2幅。

http://www.ageofempires3.com/

http://download.microsoft.com/download/d/7/3/d7348fe3-d498-4e13-96c6-3da92e8f0c62/aoe3trial.exe

System Requirements:

XP
1.4G
256M RAM
64M Video Card with HW T&L
370M HD
DirectX 9C

 

posted on 2005-09-09 11:17:00 by hopeq  评论(7) 阅读(5337)

网络服务通用的应用协议和对应的标准(默认)端口号

应用协议        端口号/协议      说明
ftp-data           20/tcp              FTP, data
ftp               21/tcp             FTP. control
telnet          23/tcp
smtp           25/tcp              Simple Mail Transfer Protocol
time            37/tcp              timserver
time            37/udp              timserver
domain         53/tcp             Domain Name Server
domain         53/udp             Domain Name Server
tftp             69/udp             Trivial File Transfer
gopher         70/tcp
http            80/tcp              www-http World Wide Web
pop3          110/tcp             Post Office Protocol-Version 3
nntp          119/tcp      Network News Transfer Protocol
netbios-ns       137/tcp      NETBIOS Name Service
netbios-ns       137/udp      NETBIOS Name Service
netbios-dgm    138/udp      NETBIOS Datagram Serviceof
netbios-ssn      139/tcp      NETBIOS Session Service
imap              143/tcp      Internet Message Access Protocol
snmp             161/udp      SNMP
snmptrap         162/udp    SNMP trap
irc                 194/tcp      Internet Relay Chat Protocol
ipx                213/udp     IPX over IP
ldap               389/tcp     Lightweight Directory Access Protocol
https             443/tcp
https             443/udp
uucp             540/tcp
ldaps             636/tcp      LDAP over TLS/SSL
doom            666/tcp      Doom Id Software
doom            666/udp     Doom Id Software
phone         1167/udp     Conference calling
ms-sql-s        1433/tcp     Microsoft-SQL-Server
ms-sql-s       1433/udp     Microsoft-SQL-Server
ms-sql-m      1434/tcp      Microsoft-SQL-Monitor
ms-sql-m      1434/udp     Microsoft-SQL-Monitor
wins            1512/tcp     Microsoft Windows Internet Name Service
wins           1512/udp     Microsoft Windows Internet Name Service
l2tp            1701/udp    Layer Two Tunneling Protocol
                 1720/tcp
QICQ            4000/udp
QICQ            8000/udp
QQ              1080/UDP           Socks 代理

《木马的常用连接端口
木马类软件常用的连接端口,如tcp135、139、445、3389、5000等,我们称为敏感端口,另外“冰河”常用7626端口、“广外女生”常用6267端口。

《VPN使用端口:》
l2tp       1701/udp #Layer Two Tunneling Protocol
pptp       1723/tcp #Point-to-point tunnelling protocol

《远程控制软件pcAnywhere使用的端口》
它的“被控端”使用2个端口,数据端口(5631)和状态端口(5632)

《BT下载使用的端口》
BT默认使用的端口是6881,6882,6883.....6889 的TCP连接 (每一个下载只使用一个端口,顺次分配)

《架设CS服务器》
指定游戏连接端口为27016

posted on 2005-09-01 09:26:00 by hopeq  评论(0) 阅读(710)

Powered by: Joycode.MVC引擎 0.5.2.0