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网站部署经历。留痕以备查阅。

  • 相关阅读:
    自定义View之实现流行的底部菜单栏中间突起:高仿“咸鱼APP”的底部菜单
    android获取内置和外置SD卡路径
    Android Environment.getExternalStorageDirectory() 获取的是内部存储还是外部存储?
    bitmap过大无法显示图片的问题
    Android Notification的使用
    Android Device Monitor 文件管理的常见问题
    BroadcastReceiver广播相关
    Android Studio 设置代码提示和代码自动补全快捷键--Eclipse 风格
    Android Studio com.android.support:percent 导入错误
    约束布局constraint-layout导入失败的解决方案
  • 原文地址:https://www.cnblogs.com/goldli/p/4117896.html
Copyright © 2011-2022 走看看