大家都知道 Bitrac 一直有一个问题就是在 Medium Trust 下无法正常运行。一直以来我都在找这个问题的解决方案,自从 C#-SQLite 项目出现以后,这个问题已经不再是大问题了,经过这几天的调试和修改,我已经可以正式宣布,SQLite 在 Medium Trust 模式下运行啦。

我已经解决的问题:

  1. 查询语句中带有中文时出错的问题。
  2. 虽然 C#-SQLite 是纯托管代码,但是在 Medium Trust 下还是无法运行,经过几天的调试和修改,我已经修正了这个问题,Medium Trust 下运行不再是问题了
  3. 解决了 LIKE 模糊查询中文返回所有记录的问题。

不过现在还有两个问题:

  1. 相比以前 System.Data.SQLite性能降低了 70% 左右,不过相比其他的博客程序,Bitrac 的性能还是非常不错的,到时候我发布程序的时候会发布两份 SQLite 库,大家各自选择就是了。
  2. 目前 C#-SQLite 有个很大的问题就是 LIKE 中文模糊搜索的时候会搜索到所有的记录,这个就属于 BUG 范畴了,是必须要解决的。我也正在准备解决。争取近期解决,并发布新的 Bitrac 版本。
  3. 临时目录我使用的是 App_Data 目录,目前会生成很多临时文件,争取解决只生成一个文件。

如果你对 C#-SQLite 也感兴趣,可以去他的项目主页看看,暂时说这么多。研究 LIKE 中文查询去了。

LIKE 中文查询的问题已经解决,下一步就是测试咯。

本日志由 Loveyuki 于 2010-02-22 10:29 发表到 技术新知 中,目前已经被浏览 1221 次,评论 8 次;

作者添加了以下标签: SQLiteMedium TrustASP.NETC#

Bitrac 刚开始开发的时候用的 Access 数据库,但是 Access 数据数据膨胀太厉害,效率也不是很好,后来 Bitrac 使用 SQLite 数据,但是 SQLite 数据库的 .NET 引擎有个致命的弱点就是无法在 Medium Trust 模式下使用,而国内外很多 .NET 空间都为了安全使用 Medium Trust 模式,这就为 Bitrac 以后的推广带来了麻烦,本来我关注过 VistaDB 这个数据库引擎,但是以前 VistaDB 是收费的,大概今年 5 月份 VistaDB 推出了免费使用的 Express 版本。

VistaDB 是完全用 .NET 开发的一个数据引擎,效率虽然没有 SQLite 那么快,但是却支持 Medium Trust 模式,通用性比 SQLite 强太多了。正在考虑是否把 Bitrac 的数据库引擎换到 VistaDB。等有时间具体测试一下 VistaDB 的效率以后再决定是否转换。

VistaDB 的主页:http://www.vistadb.net/

本日志由 Loveyuki 于 2008-07-15 10:24 发表到 技术新知 中,目前已经被浏览 3717 次,评论 44 次;

作者添加了以下标签: VistaDBASP.NET

得到 ASP.NET 当前的 Trust Level,摘自:dmitryr's blog

  1. AspNetHostingPermissionLevel GetCurrentTrustLevel() {  
  2.     foreach (AspNetHostingPermissionLevel trustLevel in 
  3.             new AspNetHostingPermissionLevel [] {  
  4.                 AspNetHostingPermissionLevel.Unrestricted,  
  5.                 AspNetHostingPermissionLevel.High,  
  6.                 AspNetHostingPermissionLevel.Medium,  
  7.                 AspNetHostingPermissionLevel.Low,  
  8.                 AspNetHostingPermissionLevel.Minimal   
  9.             } ) {  
  10.         try {  
  11.             new AspNetHostingPermission(trustLevel).Demand();  
  12.         }  
  13.         catch (System.Security.SecurityException ) {  
  14.             continue;  
  15.         }  
  16.    
  17.         return trustLevel;  
  18.      }  
  19.  
  20.      return AspNetHostingPermissionLevel.None;  

本日志由 Loveyuki 于 2008-07-14 22:59 发表到 技术新知 中,目前已经被浏览 3283 次,评论 3 次;

作者添加了以下标签: ASP.NET

昨天我们成功配置了 Lighttpd + FastCGI + PHP,今天我们需要让 Lighttpd 支持 ASP.NET,Linux 下要部署一个 ASP.NET 服务器,Mono 这个 .NET 在 Linux 下的实现是必不可少的。我们首先直接用 Pacman 安装 Mono,至于 Mono 的 FastCGI 支持需要从 SVN 下载回来编译安装,所以我们同时也安装一些必需的工具。pacman -S mono svn automake autoconf libtool然后我们随便建立一个目录,进入后运行 svn co http://mono-soc-2007.googlecode.com/svn/trunk/brian/FastCgi/ fastcgi-mono-server源代码下载回来后进入 fastcgi-mono-server 目录打开 configure 文件,把第2387行注释掉,然后运行./autogen.sh --prefix=/usr && make && make install到这里,Mono 的 FastCGI 功能已经安装完成,剩下的就是继续配置 Lighttpd 了,打开 /etc/lighttpd/lighttpd.conf 文件,把昨天修改过的地方稍微修改一下就可以了fastcgi.server = (
    ".php" => ("localhost" => ("socket" => "/tmp/php-fastcgi.socket","bin-path" => "/usr/bin/php-cgi")),
    ".aspx" => ("localhost" => ("socket" => "/tmp/fastcgi-mono-server", "bin-path" => "/usr/bin/fastcgi-mono-server2", "bin-environment" => ("MONO_SHARED_DIR" => "/tmp/")))
)
fastcgi.map-extensions = (".asmx" => ".aspx", ".ashx" => ".aspx", ".asax" => ".aspx", ".ascx" => ".aspx", ".soap" => ".aspx", ".rem" => ".aspx", ".axd" => ".aspx", ".cs" => ".aspx", ".config" => ".aspx", ".dll" => ".aspx")

配置好以后到 http://code.google.com/p/aspnetsysinfo/ 下载探针测试一下吧,呵呵。

本日志由 Loveyuki 于 2008-01-13 13:33 发表到 学习笔记 中,目前已经被浏览 4465 次,评论 12 次;

作者添加了以下标签: Arch LinuxLighttpdFastCGIASP.NET

SQLite 是一个轻量级的数据库引擎,相比一般我们用 JET 引擎访问 Aceess 优点很多,ASP.NET 可以使用 System.Data.SQLite 这个 .NET Wrapper,我在本机测试了一下 Bitrac 程序使用不同引擎的速度,目前数据量很小的情况下可以提高一倍的速度,数据库越大提高肯定越多的。就是不知道 System.Data.SQLite 能否在这个服务器上使用,毕竟我所使用的服务器的 .NET 权限是有所限制的。

今天把 Access 到 SQLite 的转换程序已经写完了。明天测试一下服务器是否支持,不管支持不支持,Bitrac 都会多一个 Database Provider。写 Database Provider 真麻烦。每种数据库的 SQL 语句都不太一样,数据类型也要考虑好,真头疼。

FCKeditor 2.5 正式版的Roadmap,看得真让人心惊,100% 又给跳回去了……

本日志由 Loveyuki 于 2007-11-25 22:21 发表到 资源分享 中,目前已经被浏览 5017 次,评论 13 次;

作者添加了以下标签: ASP.NETSQLiteFCKeditor