您的位置:首页技术开发.Net 专栏 → 详解如何Mono创建ASP.NET应用程序(4)

详解如何Mono创建ASP.NET应用程序(4)

时间:2010/1/19 14:24:00来源:本站整理作者:我要评论(0)

 Mono配置文件

  /etc/mono/1.0/machine.config

  /etc/mono/2.0/machine.config

  Mono GAC文件

  /usr/lib/mono/gac/

  MonoDevelop安装路径

  /usr/lib/monodevelop/

  安装apache2和mod_mono

  与安装Mono一样,将apache2和apache2-mod_mono安装上。

  开发ASP.NET或Web Serives程序

  打开MonoDevelop,新建一个ASP.NET程序,并报存在/home/mazhi/cmd目录下

  配置apache2

  打开apache2的config文件:/etc/apache2/httpd.conf,在里面加上以下行:

  Include /etc/apache2/mod_mono.conf

  并添加以下行:

Alias /website /home/mazhi/cmd
MonoApplicationsConfigFile website /home/mazhi/cmd/website.webapp
MonoServerPath website "/usr/local/bin/mod-mono-server2"
<Location /website>
Allow from all
Order allow,deny
SetHandler mono
MonoSetServerAlias website
</Location>

  启动Apache服务

  sudo /sbin/service apache2 restart

  注意:在apache部署asp.net程序时,asp.net程序的所有层次的文件夹和文件的other权限都必须配置Execute权限,例如将/home/mazhi/cmd所有层次的文件夹和文件的other权限都配置Execute权限

  另外,如果在程序中使用log4net的时候,将包含log文件的所有层次的文件夹的other权限配置write权限

  访问Oracle数据库的问题

  如果ASP.NET程序访问Oracle数据库,存在以下2种可能的情况,1是ASP.NET与Oracle安装在同一台机器上,2是ASP.NET与Oracle安装在不同的机器上。如果是第2种情况,则需要安装 instantclient的Oracle数据库访问组件。在Oracle的官方网站下载basic-11.1.0.70-linux-x86_64.zip或oracle-instantclient11.1-basic-11.1.0.7.0-1.x86_64.rpm进行安装。例如安装在/opt/oracle/目录中。

  添加Oracle数据连接库文件

  安装后,/opt/oracle/oradb/home/lib 存放Basic和sqlplus的各种库文件,在/etc/ld.so.conf文件中添加路径/opt/oracle/oradb/home/lib,还有就是在此目录下为libclntsh.so.11.1库文件建个软连接

  ln -s libclntsh.so.11.1 libclntsh.so

  让代码连接动态库的时候能找到库文件。再执行ldconfig命令

  配置Oracle数据库环境变量

  系统级配置在/etc/profile文件中

  用户级配置在/root/.bash_profile或/home/someuser/.bash_profile文件中

  根据需要,在以上2个文件中的1个文件中添加以下行:

ORACLE_BASE=/opt/oracle/oradb; export ORACLE_BASE
ORACLE_HOM
=$ORACLE_BASE/home;export ORACLE_HOME
ORACLE_SID
=imapdb;export ORACLE_SID
NLS_LAN
=American_america.zhs16gbk;export NLS_LANG
PATH
=$ORACLE_HOME/bin:$PATH;export PATH
TMP
=/opt/oracle/tmp
TMPDIR
=/opt/oracle/tmp
export TMP TMPDIR
umask
022

 

  解决连接Oracle数据库出现Could not allocate the Oracle environment错误

  Mono ASPX链接Oracle数据库出错“Could not allocate the Oracle environment“

  修改mod-mono-server的脚本文件,用gedit打开/usr/bin/mod-mono-server2文件,添加以下行:

ORACLE_BASE=/opt/oracle
ORACLE_HOME
=$ORACLE_BASE/9.2
NLS_LANG
=POLISH_POLAND.EE8MSWIN1250
LD_LIBRARY_PATH
=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
LIBPATH
=$ORACLE_HOME/lib
LD_LIBRARY_PATH_32
=$ORACLE_HOME/lib32
PATH
=$PATH:$ORACLE_HOME/bin
LD_ASSUME_KERNEL
=2.4.19
LANG
=pl_PL.iso88592
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH LD_LIBRARY_PATH_32 PATH LD_ASSUME_KERNEL NLS_LANG LIBPATH
LANG
before line
exec /usr/local/bin/mono $MONO_OPTIONS "/usr/local/lib/mono/2.0/mod-mono-server2.exe" "$@"

 

  这样就可以连接到Oracle数据库了。

相关视频

    没有数据

相关阅读 vs.netIDE报"以下文件中的行尾不一致,要将行尾标准化吗?"的解决ie6下面asp.net mvc3 部署应用程序.NET 3.5 安装错误的四个原因及解决方法支持无限制历史记录的Paint.NET 3.5.8 Final,你用了吗?.NET Framework环境安装错误怎么办?JVM和.NET CLR和哪个会被彻底击败在asp.net mvc中实现右键菜单和简单的分页教程VB.NET如何得到调用当前过程的方法名称和类名称

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 什么是.NET中的TDD?ASP.NET AJAX入门简介 WebMatrix入门教程VC++2008中如何调用GetOpenFileName打开文件PlaySound函数在VC++6.0中如何播放音乐及声请问VC++回调函数怎么用

人气排行 嵌入式实时操作系统VxWorks入门教程ArrayList 与 string、string[] 的转换C#遍历整个文件夹及子目录的文件代码WebMatrix入门教程asp.net判断文件或文件夹是否存在c#判断数据NULL值的方法vc++6.0怎么写Windows简单窗口代码.net解决数据导出excel时的格式问题