精简的美丽......

一、环境
    开发环境
        win7 64bit
        Vs2010
        Oracle 11g r2 64bit
        <instantclient-basic-win32-11.2.0.1.0>
        
    部署环境
        winServer 2008 r2 64bit
        Oracle 11g r2 64bit
        <instantclient-basic-win32-11.2.0.1.0>
        iis7.5
    
二、部署问题及解决方法
    在VS项目上右键,选择"发布"。发布方式为"文件系统",指定目标位置。发布后找到目标文件夹,拷贝所有文件到服务器IIS中建立的目录里。以http://服务器ip:端口访问可以打开登录页,点击登录后显示"无法显示此页"。
    百度"无法显示此页",结果查找到无数条问与答。挑选排名靠前的几项试过之后问题依旧。
    无奈,Response.Write();Response.End();输出判断在执行到哪一步时出现上述问题。结果发现在执行Response.Redirect()时出现上述问题。Response.Write(跳转url),发现目标路径(...../index.aspx)中多了一个"/"。于是查找扩展方法VirtualRoot(),发现在对page.Request.ApplicationPath取值时并没有判断其是否以"/"结尾(是否处于已部署环境),修改此方法后问题解决。
        public static string VirtualRoot(this Page page)
        {
            var result = page.Request.ApplicationPath;
            result = !result.IsNullOrEmpty() && result.EndsWith("/") ? result : result + "/";
            return result;
        }

现在可以正常登录了。登录发突然跳出一个对话框。xmlhttpobject。检查发现这是一个Ajax去访问WebService时出错打印的内容。错误代码是404。于是调试Ajax跟踪发现,还是路径问题。
    在开发环境中Js函数GetRootPath() /网上可以找到/可以正常返回虚拟路径。就像函数本身注释说的,它包含一个项目名称,而我们部署后是没有项目名称这个路径节点的,所以去掉项目名称后可以正常返回虚拟路径。然后再次登录后发现问题依旧。只是错误代码变理了500。继续百度,在经过尝试后发现更改Web.config,在system.web下增加
    <webServices >
        <protocols >
            <add name="HttpSoap"/>
            <add name="HttpPost"/>
            <add name="HttpGet"/>
            <add name="Documentation"/>
        </protocols>
    </webServices>
    后可以正常访问WebService。理由是iis默认不允许访问WebService(这是什么规定啊)。
    好了,网站总算能打开全部页面了。心情愉悦啊。Oh,man.what is going on?为什么会出现乱码?难道数据库字符集不对?赶快Plsql对比下两个数据库有什么不同?结果,shit。一样的。继续百度,并且wen.lu。在被网络上各种解决方案轰炸了N遍之后,终于在asp.net oracle 中文乱码 解决方法 找到了解决方法。人家说,不用更改什么字符集,要想让你的oracle支持unicode只需要在连接字符串里加上Unicode=True就可以了。加上,ok,网页是那让人讨厌的??总算没有了。
    
    以上是我第一次asp.net网站部署经历。留痕以备查阅。

[原创]经历:asp.net oracle 部署问题以及解决方法的更多相关文章

  1. 经历:asp.net oracle 部署问题以及解决方法

    原文:[原创]经历:asp.net oracle 部署问题以及解决方法 精简的美丽...... 一.环境    开发环境        win7 64bit         Vs2010       ...

  2. Asp.Net 应用程序在IIS发布后无法连接oracle数据库问题的解决方法

    asp.net程序编写完成后,发布到IIS,经常出现的一个问题是连接不上Oracle数据库,具体表现为Oracle的本地NET服务配置成功:用 pl/sql 等工具也可以连接上数据库,但是通过浏览器中 ...

  3. Oracle OCI-22053:溢出错误解决方法

    原文 Oracle OCI-22053:溢出错误解决方法 Oracle 数值数据类型最多可存储 38 个字节的精度.当将 Oracle 数值转换为公共语言运行库数据类型时,小数点后边的位数可能过多,这 ...

  4. 记一次Win Server 2012部署问题及解决方法

    1.前言 本章内容为在win server 2012服务器部署时遇到的问题及解决方法.大致工作为:两台服务器,一台web.一台数据库:web服务器部署.net web程序,数据库服务器安装oracle ...

  5. PLSQL Developer不支持Oracle 64位客户端解决方法

    问题描述: 在虚拟机同网段,搭建Oracle 11.2.04数据库64位的,本机操作系统Win10 x64和PLSQL 9.03,目前想利用PLSQL远程登录ORACLE数据库操作.当初用 insta ...

  6. Asp.net导出Excel乱码的解决方法

    通过跟踪Asp.net服务器代码,没有乱码,然而导出Excel到浏览器后,打开时出现乱码. 解决方法是添加编码格式的前缀字节码:Response.BinaryWrite(System.Text.Enc ...

  7. Windows Server 2003下ASP.NET无法识别IE11的解决方法

    由于IE11对User-Agent字符串进行了比较大的改动,所以导致很多通过User-Agent来识别浏览器的程序,都相应的出现了无法识别IE11的情况.(普通用户端则可以通过这个方法来进行设置.) ...

  8. Windows Server 2003下ASP.NET无法识别IE11的解决方法【转】

    http://www.iefans.net/windows-server-2003-asp-net-ie11-shibie/ 由于IE11对User-Agent字符串进行了比较大的改动,所以导致很多通 ...

  9. Tomcat部署问题及解决方法

    1.gradle构建web时报错:Access restriction: The type JPEGImageEncoder is not accessible due to restriction ...

随机推荐

  1. IOS PUSH

    第一阶段:.net应用程序把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发到iPh ...

  2. QT4.7.4-vs2008和vs2010的安装并编写测试程序

    QT的安装着实费了我好大的劲,之前试过QT5.1.0与VS2010的安装,但是因为设置的地方太多,程序运行总是不成功,所以最后选用QT4.7.4和VS2008与VS2010来编写程序.写这篇文章来总结 ...

  3. python学习之dict的items(),values(),keys()

    Python的字典的items(), keys(), values()都返回一个list >>> dict = { 1 : 2, 'a' : 'b', 'hello' : 'worl ...

  4. Tkinter教程之Toplevel篇

    本文转载自:http://blog.csdn.net/jcodeer/article/details/1811341 '''Tkinter教程之Toplevel篇'''#TopLevel与Frame类 ...

  5. 重新执笔,已是大三!Jekyll自定义主题开发

    前言 “一转眼忘了时间 丢了感觉 黑了世界 再逞强 再疯狂 也会伤 不知 不觉 后知 后觉 然后 发现 失去 知觉 ”——<一吻不天荒> 感言 时间是把双刃剑,什么解决不了,忧烦的,慢慢变 ...

  6. C#实现APK自动打包

    C#实现APK自动打包     最近做了一个安卓项目,其中有一个自动打包的功能,要把供应商id写入APK后打包.   一.思路     在AndroidMinifest.xml中加入一个标识字段,如下 ...

  7. notepad++汉字突然横过来了

    修改notepad++,汉字突然横过来了,如图, 百度了一下,原来是因为选择的字体"@微软雅黑"前面的@符号惹的祸,改成"微软雅黑"就没事了.

  8. red5下nginx安装配置

    http://zfl110.iteye.com/blog/1155149 原址:http://lqw.iteye.com/blog/652763 安装Nginx 1.首先安装pcre-8.02.tar ...

  9. HDU 4950 Monster (水题)

    Monster 题目链接: http://acm.hust.edu.cn/vjudge/contest/123554#problem/I Description Teacher Mai has a k ...

  10. ActiveX控件的Events事件

    http://labview360.com/article/info.asp?TID=10152&FID=165 Active X函式库 对使用LabVIEW作为开发环境的开发人员来说,如果能 ...