[原创]经历: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网站部署经历。留痕以备查阅。
[原创]经历:asp.net oracle 部署问题以及解决方法的更多相关文章
- 经历:asp.net oracle 部署问题以及解决方法
原文:[原创]经历:asp.net oracle 部署问题以及解决方法 精简的美丽...... 一.环境 开发环境 win7 64bit Vs2010 ...
- Asp.Net 应用程序在IIS发布后无法连接oracle数据库问题的解决方法
asp.net程序编写完成后,发布到IIS,经常出现的一个问题是连接不上Oracle数据库,具体表现为Oracle的本地NET服务配置成功:用 pl/sql 等工具也可以连接上数据库,但是通过浏览器中 ...
- Oracle OCI-22053:溢出错误解决方法
原文 Oracle OCI-22053:溢出错误解决方法 Oracle 数值数据类型最多可存储 38 个字节的精度.当将 Oracle 数值转换为公共语言运行库数据类型时,小数点后边的位数可能过多,这 ...
- 记一次Win Server 2012部署问题及解决方法
1.前言 本章内容为在win server 2012服务器部署时遇到的问题及解决方法.大致工作为:两台服务器,一台web.一台数据库:web服务器部署.net web程序,数据库服务器安装oracle ...
- PLSQL Developer不支持Oracle 64位客户端解决方法
问题描述: 在虚拟机同网段,搭建Oracle 11.2.04数据库64位的,本机操作系统Win10 x64和PLSQL 9.03,目前想利用PLSQL远程登录ORACLE数据库操作.当初用 insta ...
- Asp.net导出Excel乱码的解决方法
通过跟踪Asp.net服务器代码,没有乱码,然而导出Excel到浏览器后,打开时出现乱码. 解决方法是添加编码格式的前缀字节码:Response.BinaryWrite(System.Text.Enc ...
- Windows Server 2003下ASP.NET无法识别IE11的解决方法
由于IE11对User-Agent字符串进行了比较大的改动,所以导致很多通过User-Agent来识别浏览器的程序,都相应的出现了无法识别IE11的情况.(普通用户端则可以通过这个方法来进行设置.) ...
- Windows Server 2003下ASP.NET无法识别IE11的解决方法【转】
http://www.iefans.net/windows-server-2003-asp-net-ie11-shibie/ 由于IE11对User-Agent字符串进行了比较大的改动,所以导致很多通 ...
- Tomcat部署问题及解决方法
1.gradle构建web时报错:Access restriction: The type JPEGImageEncoder is not accessible due to restriction ...
随机推荐
- 浅谈javascript的变量作用域
1.变量遵循先声明再使用. console.log(b); b=123; 代码运行结果: Uncaught ReferenceError: b is not defined 2.方法内定义的局部变量外 ...
- UTF编码问题小结
在编程当中经常出现乱码的问题,而由此一般会引发很多惨剧,如读文件不成功.用户名显示乱码等,所以端午节抽了一小点时间好好看了一下编码问题,以备遗忘. 首先是中文编码,除了台湾和香港常用的BIG5,国内大 ...
- css样式表中的样式覆盖顺序
刚才写zenktodo的时候,通过动态添加class的方式修改一个div的样式,总是不起作用. #navigator { height: 100%; width: 200; position: abs ...
- 线性模型(3):Logistic Regression
此笔记源于台湾大学林轩田老师<机器学习基石><机器学习技法> (一)Logistic Regression 原理 对于分类问题,假设我们想得到的结果不是(x属于某一类)这种形式 ...
- HDU 5607 graph(DP+矩阵乘法)
[题目链接] http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=663&pid=1002 [题意] 给定一个有向 ...
- Android 4.4 音量调节流程分析(二)
之前在Android 4.4 音量调节流程分析(一)里已经有简单的分析音量控制的流程,今天想接着继续分析下音量大小计算的方法.对于任一播放文件而言其本身都有着固定大小的音量Volume_Max,而在A ...
- 有关android UI 线程
1. GUI线程框架 常见的 Swing, SWT框架都是作为单线程子系统来实现的,实际上不仅限于在Java中, Qt.MacOS Cocoa以及其他的环境中的GUI框架都是单线程的.虽然很多人尝试过 ...
- Getting Started with Entity Framework 6 Code First using MVC 5--Contoso 大学
在本教程中使用的软件版本 Visual Studio 2013 年 4.5.NET 实体框架 (EntityFramework 6.1.0 NuGet 包) 6 Windows Azure SDK 2 ...
- homework6-更加简单的题目
又把时间搞错了 以为这次要写客户端程序的博客 没想到这次是“怎么吃” 言归正传 cnblog上面有很多技术博客 http://perhaps.cnblogs.com/archive/2005/08/0 ...
- uva 315 Network(无向图求割点)
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...