系统部署

1.IIS 7.0及以上版本 2.NET Framework运行环境是.NET Framework 4.0 3.安装补丁 Microsoft .NET Framework 4 KB2468871 下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=3556

DCOM配置

  • 概述

  • IIS发布后,对于EXCEL,WORD,PROJECT等导入导出功能,需在所发布的服务器上设置DCOM权限。

  • 示例

    • DCOM配置步骤如下:

      ​ 1、.“开始”-“运行”,输入“dcomcnfg.exe”,回车打开组件服务配置窗口如下所示:

      DCOM1

      ​ 2、找到上图中“DCOM配置”节点,在下面设置相关的属性,比如EXCEL,WORD,PROJECT分别对应下图:

      DCOM2

      3、右击要设置的属性,如上图中的第一个EXCL应用程序,弹出设置窗口,如下设置:

      注:“标识”页签中,可选择“启动用户”,也可选择“下列用户”,如出现导出时OFFICE进程关闭不了时,请在这两者间设置测试。

      DCOM3

      在“安全”页签中,设置“启动和激活权限”和“访问权限”这两个分别选中“自定义”, 然后添加EveryOne用户,权限都设置成允许,如下图:

      DCOM4

      其他问题: 如果设置都没问题,但导出还是失败的话,可能是服务器上WORD进程出错没关闭,请将服务器上的任务管理器里的WORD进程先全部结束。 如果WORD进程都有关闭的话,还失败的话可能是程序文件夹中“ExcelFile”文件夹没设置安全权限,右击该文件夹,属性,设置如下:

      DCOM5


文件上传问题

  • 概述

  • 文件上传时,会遇到打开附件的内容为空时候解决办法

  • 示例

    • 当文件打开时候遇到附件为空情况,进行如下设置可以解决:

      1.点击网页中“工具”菜单项,然后选择“IE选项”,弹出“Internet属性”窗口

      2.选中“安全”页签,点击“自定义级别”,然后弹出一个“安全设置-Internet区域”窗口,

      然后将“将文件上载到服务器时包含本地目录路径”选项设置为“启用”,如下所示:

      FileUpload


项目部署IIS

  • 概述

  • 项目部署到服务器时,在IIS中可发布成虚拟目录或网站,两者发布过程类似(发布成网站时,需指定一个端口号)

  • 示例

    • 下面以发布虚拟目录为例说明:

      1.右键点击桌面“我的电脑”,在弹出的窗口中,点击“管理”,打开“计算机管理”:

      IIS1

      2.选择“服务和应用程序”—“Internet信息服务”—“默认Web站点”,右键新建一个虚拟目录,如下图所示:

      IIS2

      3.点击“下一步”:

      IIS3

      4.输入虚拟目录别名,客户端通过IE访问时与此有关,点击“下一步”:IIS4

      5.点击“浏览”按钮,选择项目程序路径,点击“下一步”:

      IIS5

      6.点击“下一步”:

      IIS6

      7.点击“完成”按钮如下所示:

      IIS7

    • 注意:新增完虚拟目录后,如下图,打开虚拟目录的属性窗口,设置几个属性:

      IIS8

    • 在“ASP.NET”页,选择“ASP.NET版本”为2.0.50227,点击“确定”按钮,完成IIS的配置如下所示:

      IIS9

    • 发布成虚拟目录:

      1.项目访问地址http://服务器IP/虚拟目录名

      2.虚拟目录名称和项目程序存放的根文件夹名称一致

      3.项目的Web.Config配置文件中,ProjectName设置成和虚拟目录名称一致,如下图:

      IIS10

    • 发布成网站:

      1.发布时,需设置端口号(任意取,除默认80端口和其他系统端口外),如下图:

      IIS11

      2.项目访问地址 http://服务器IP:端口号

      3.与项目程序存放文件夹名称无关

      4.项目的Web.Config配置文件中,ProjectName设置为空,如下图:

      IIS12

    • 注意事项:

      如果项目发布后不能正常访问,检查IIS设置和代码没问题时,可以再检查下面几个:

      1.发布在window2003服务器上时,有时服务器本身的IE不能访问,可能是因为WIN2003操作系统安装后, 系统自动会安装一个IE增强性,可以从控制面板里去删除,如下图:

      IIS13

      2.IIS要把.NET先安装,所以有时安装顺序反了,就会导致不能正常访问,这时可以重装注册下.NET:

      先找到.NET安装目录,如C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727(各.NET版本不同或者是安装 路径不同那么目录就会不同)下的aspnet_regiis.exe,打开系统的命令窗口,用命令执行下: aspnet_regiis.exe -i 如下图:

      IIS14


Oracle数据库相关

  • 概述

  • 一些Oracle数据库方面的应用

  • 示例

    1.导入导出命令

    导出命令:exp 用户名/密码@实例名 owner=要导出的用户 file=导出文件存放路径

    如: exp emscs/emscs@orcl owner=emscs file=c:\1.dmp

    导入命令:imp用户名/密码@实例名 fromuser=之前导出的用户 touser=本次要导入的对应的用户 file=要导入的文件所在的路径

    如: imp emscs/emscs@orcl252 formuser=emscs touser=emscs file=c:\1.dmp

    (注:导入前先创建表空间及对应用户)

    2.字符集问题

    字符集分客户端和服务端两种,比如服务器A安装了Oracle数据库,那么数据库的字符集就是服务端字符集,服务器本身也有客户端,

    如果A电脑上Oracle9i导出的数据库要导入到B电脑上Oracle10g,那么就要保证这两台电脑的客户端和服务端的字符集(共4个)都要一致,

    不然就会出现乱码。

    服务端的字符集查询:select userenv(‘language’) from dual ,(安装时可以选择字符集)

    客户端的字符集:打开注册表(HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1),将NLS_LANG项的值设置成

    和服务端一样的字符集(比如:SIMPLIFIED CHINESE_CHINA.ZHS16GBK)


IIS6.0中部署5.1项目或者部署.net4.0

  • 概述

    • IIS 6.0达到支持.NET 4.0的目的
  • 示例

    • 一、升级.net framework至4.0

      ​ 如果服务器已经安装了VS2010,则其中已经包含安装了.net 4.0 framework,否则就需要另外安装.net 4.0 framework,微软官方下载地址为http://www.microsoft.com/zh-cn/download/details.aspx?id=17718,如果你是开发系统当然没问题,老早就装4.0 framework了,如果是服务器上这个时候我们就得整理一下IIS6了 。

    • 二、配置IIS 6.0

      1.允许web服务扩展

      找到web服务扩展,找到ASP.NET v4.0.30319项,确认它是允许的,如果是禁用的就要开启它,默认情况下就是禁止的,当时自己就是因为这部分没设置好才折腾了大半天,如下图所示:

      IIS6.0-1

      2.选择ASP.NET版本

      打开IIS6.0,右击新建的网站→属性→ASP.NET选项卡,.NET版本选择4.0.30319(或者2.0SP2),如下所示:

      IIS6.0-2

      3.应用程序映射(此步是否需要设置有疑问):(5.1在这里不添加映射的话会出现网格页面多了一层遮盖层)

      右击新建的网站→属性→主目录→配置→通配符插入,可执行文件选(找对应版本号下的dll)c:/windows/microsoft.net/framework/v4.0.30319/aspnet_isapi.dll,去掉"确认文件存在",点击确定,如下图所示

      IIS6.0-3

    • 三、可能出现的问题

      IIS6.0-4

      ​ 如上图所示,出现“服务器应用程序不可用”的错误提示,查看系统应用程序日志如下:

      IIS6.0-5

      错误提示为:It is not possible to run two different versions of ASP.NET in the same IIS process:IIS

      解决办法:

      针对不同的Framework应用程序,建立不同的ApplicationPool。不同版本的站点(包括虚拟目录,因为它也要用Application Pool),采用不同的Application Pool,即新建一个用于.net4.0以Application Pool为模板的应用程序池.Net4.0,再修改站点的属性—>应用程序池为.Net4.0就OK了

      IIS6.0-6

      其实我们要是服务器上装的IIS7.5或者8.0就不用这么麻烦了,每次创建一个网站时都会生成一个单一的应用程序池。毕竟服务器上好多还在用IIS6.0,不过还是有解决的办法。