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

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目录下

7d225142def95aeb26f3d47b6b139bd3.png

配置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"Allow from all

Order allow,deny

SetHandler mono

MonoSetServerAlias website

启动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

umask022

解决连接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.2NLS_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.19LANG=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 lineexec/usr/local/bin/mono $MONO_OPTIONS "/usr/local/lib/mono/2.0/mod-mono-server2.exe" "$@"

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

分享:

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值