解决Asp.Net Forums中出现的时区问题

  Asp.Net Forums(后面简称ANF)的游客和管理员默认的是伦敦时区。所以当我们按照说明安装时,永远无法同时让所有用户的时区都正确。除非你的站点安装在伦敦。其实这个问题也很好解决。

  安装完ANF后,在它的数据库中有一个名为“forumns_UserProfile”的表。这张表记录的是用户的基本信息。其中UserId为0的一条记录是游客的记录,UserId为2的记录是管理员的记录(默认安装完ANF后就会生成这两条记录)。在这张表里你会发现有一个名为“TimeZone”的字段。这个字段就是设置时区用的。如果你在安装好ANF后已经注册过用户,那么你可以看到新注册用户的TimeZone用户值都是8(中国地区),只有游客和管理员的两条记录是0。你只需把这两条系统安装时生成的记录的TimeZone字段,设置成服务所在地的时区,然后通过管理员,进入系统的后台,设置对应的正确时区就可以了。新注册的用户是按用户所在地时区自动生成的,不用去管它。

  还有一种方法,就是修改.sql文件,以便在ANF安装的时候就能正确设置时区。

  1、修改 install-Data.sql 文件如下,以为游客创建正确的时区:
      ……
      INSERT INTO
      forums_UserProfile
      VALUES
      (
          0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0--所修改行(0 修为 8)
      )
      ……

  2、修改 Install-Procedures.sql  文件如下,以为管理员创建正确的时区:
      ……
      CREATE           procedure forums_User_CreateUpdateDelete 
      (
          @UserID int out,
          @UserName   nvarchar (64) = '',
          @NickName nvarchar(64) = '',
          @IPCreated nvarchar (32) = '000.000.000.000',
          @Password   nvarchar (64) = '',
          @Email    nvarchar (128) = '',
          @StringNameValuePairs  varbinary (7500) = 0,
          @UserAccountStatus  smallint = 1,
          @PasswordFormat  int = 1, 
          @PasswordQuestion  nvarchar(256) = '',
          @PasswordAnswer  nvarchar(256) = '',
          @Salt    nvarchar (24) = '',
          @AppUserToken       varchar (128) = '',
          @ForumView   int = 0,
          @TimeZone   float = 8.0,--所修改行(0.0 修为 8.0)
      ……

  结束。

转载于:https://www.cnblogs.com/legendry/archive/2005/12/30/308117.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值