Windows Server 2003 x64架设asp.net拾遗

经过一段时间的努力,总算是把网站的大体功能实现了,接下来就要准备发布网站了,于是就开始在公司的64位操作系统上架设asp.net网站,刚开始进行安装iis的时候居然跳出了提示,说是需要“iisback.vbs”这个文件,于是就从安装文件查找,可是我把整个电脑都翻了遍,却没有找到“iisback.vbs”的影子,为此我在网上狂搜了两天,最后还是没有找到解决办法,在最后我快崩溃的时候,我突然发现了提示的路径是“G:\amd64”,于是我想这个文件应该是放在安装文件夹amd64这个目录下的,于是我把路径定位到安装文件的“amd64”文件夹下,没想到最后找到的文件竟然是“IISBACK.VB_”,这个坑爹的文件害的我瞎折腾了两天,不过也怨我没有仔细看文件路径,呵呵,不过最后总算是成功搞定了。
在安装完iis后,很容易的就架设起了网站,然后就迫不及待的想在浏览器里面浏览一下,结果网址一输,按下回车就出现了“http错误404-文件或目录未找到”,顿时一愣,不会吧,我在本地运行的好好的怎么到服务器就出问题了呢,我首先怀疑的就是服务器不支持,因为服务器是64位版本的,所以我着实担心了一下,但是马上就否定了我的怀疑,因为当我访问html网页时可以正常显示,所以这就排除了服务器不支持的问题。那么到底是怎么回事呢?没多想,直接百度一下,结果很容易的找到了问题的原因:“先安装.net,后安装IIS,导致了.net没有注册到IIS中,所以无法打开aspx页面”,那么就注册一下asp.net喽,还是网上找的方法:
     首先,要重新注册IIS :运行cmd 后 进入“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727” 键入命令aspnet_regiis -i
        其次,在: 计算机管理--Internet信息服务(IIS)管理器--Web服务扩展--ASP.NET V2.0.50727 中选择允许
        最后,重新在计算机管理的对应项目中找到你要浏览的页面,打开页面,就可以了。
这里有个小插曲,前面说了,我的服务器是64位的,但是在装系统的时候好像也装了32位的.NET Framework,所以我第一次运行的时候是运行的32位的,结果就报错了,错误如下图所示:

于是我修改了下路径,找到64位的,这次很顺利的就搞定了,然后再次在浏览器里面访问,我充满了期待的想看到网站的页面,可是真是应了那句老话——好事多磨啊,网页再次出现了熟悉的错误。这次报的错误是:“Could not load file or assembly 'System.Data.OracleClient' or one of its dependencies. An attempt was made to load a program with an incorrect format. ”这次的错误很明显是由于没有正确引用System.Data.OracleClient这个dll引起的,这次我又诧异了,我在本机的时候是好好的呀,而且我在bin目录里面也找到了这个dll怎么还是报错了呢?还是继续百度一下,经过了几番查找,最后看到了一个网友的提问后,突然得到灵感,现在bin目录下的那个dll是从我本机拷贝过来的,而我的主机是32位的,服务器是64位的,会不会是这个问题呢?于是,我找到服务器的安装路径下,把那个dll拷贝过来,发改掉原来的那个,再次访问,终于见到了我梦寐以求的那个网站页面,顿时我内牛满面啊(当然没这么夸张啦,小小的修饰了下,嘿嘿),满心欢喜的登录我的网站,开始浏览起来了。

刚开始点击了几个页面都非常正常的显示出来了,于是乎我忘乎所以的飘飘然起来,心想着终于成功了,可是等我点击两外一个页面的时候悲剧再次发生了,这次又报出一个错误:

这是在客户端报的错误,还好我可以登录服务器,于是我登录到服务器上,发现在服务器上报的是“The 'MSDAORA' provider is not registered on the local machine”,这个错误令我彻底没辙了,我在百度上搜来搜去,就是没有找到解决的办法,但是我猜想应该是我用了oledb访问oracle数据库所致,因为在系统中手工绑定的数据我都是通过OracleClient这个dll来实现的,而页面上的空间绑定,我偷懒就用vs自带的绑定方法,进行绑定,经过我的测试发现确实是这个问题所导致的,只要用到oledb绑定数据的页面都报出了这个错误,可是我到现在还没有找到解决的方法,如果哪位园友要是知道如何解决的话还望不吝赐教。

原文地址:https://www.cnblogs.com/QSuperstar/p/2147875.html