zoukankan      html  css  js  c++  java
  • [原创]经历:asp.net oracle 部署问题以及解决方法

    精简的美丽......

    一、环境
        开发环境
            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网站部署经历。留痕以备查阅。

  • 相关阅读:
    iPhone X 的“刘海”正是苹果的品牌象征
    中国首届原型设计大赛在成都举办
    hdu1114Piggy-Bank(完全背包)
    hdu2602Bone Collector(01背包)
    漏洞百出的线段树!!
    hdu1078FatMouse and Cheese
    hdu2859Phalanx
    poj3186Treats for the Cows(区间dp)
    uva10088格点多边形
    快速幂快速乘
  • 原文地址:https://www.cnblogs.com/goldli/p/4117896.html
Copyright © 2011-2022 走看看