程序的健壮性一:路径问题

转载请附加本文链接:http://www.cnblogs.com/hispring/p/4491144.html (Created by Aaron)

问题描述:

发布程序的时候遇到一个问题,asp.net程序发布到IIS虚拟目录下出现了图片、CSS丢失,同时还有Ajax访问路径错误的问题。

解决方案如下:

1、html中出现的静态文件路径丢失问题:路径使用"~/Content/images/logo.png"与"Content/images/logo.png"均可,一般的写法"/Content/images/logo.png"会报错。

2、针对Ajax访问路径出错的问题。附上一个js方法,这个方法应该在全站中作为Common.js的一部分供调用。

//返回路径参数 以虚拟目录下的路径为例 http://localhost/website/home/index
com.getRootPath = function () {
    var strFullPath = window.document.location.href;// 返回"http://localhost/website/home/index"
    var strPath = window.document.location.pathname;// 返回"website/home/index"
    var pos = strFullPath.indexOf(strPath);// 返回"http://localhost"
    var prePath = strFullPath.substring(0, pos);
    var postPath = strPath.substring(0, strPath.substr(1).indexOf(‘/‘) + 1);// 返回"/website"
    return (prePath + postPath);
}

在本地开发的开发中,采用vs调试很难发现这个问题。

时间: 2024-10-19 13:25:52

程序的健壮性一:路径问题的相关文章

程序try-catch的绝对健壮性之嵌套

写程序的过程中,我们对try-catch在熟悉不过了,捕获异常进行处理,以保证程序的健壮性. 今日突发一想,如果我们catch中的代码异常了怎么办?我们做以下一种假设 static void Main(string[] args) { try{ //Code A } catch{ //Code B } finally{ //Code C } } 按照我们平时经常用的,我们在Code A的位置执行出错之后,我们最后可能在Code B进行错误处理,然后可能在Code C处写错误日志. 那么问题来了,

linux下,简单一行代码提高脚本的健壮性

前言 新来的美女同事,拿她写的脚本向我请教时,我证实了程序猿经常说的一句话:OMG,这么狗屎的代码居然是我写的!!! 问题描述: 在linux/unix写脚本时,我大多习惯在第一行加上(或许还有一大班跟我一样习惯的人): #!/usr/bin/bash 或者 #!/usr/bin/perl 或者 #!/usr/bin/python…………………… 用于操作系统执行这个脚本的时候,调用/usr/bin下的bash/perl/python解释器. 但是,这时存在两个小小问题: 1.本机的bash/p

使用 const 提高函数的健壮性

使用 const  提高函数的健壮性 看到 const 关键字,C++程序员首先想到的可能是 const 常量.这可不是良好的条件 反射.如果只知道用 const 定义常量,那么相当于把火药仅用于制作鞭炮.const 更大的 魅力是它可以修饰函数的参数.返回值,甚至函数的定义体. const 是 constant 的缩写, "恒定不变"的意思.被 const 修饰的东西都受到强制保护, 可以预防意外的变动,能提高程序的健壮性.所以很多 C++程序设计书籍建议:"Use con

健壮性与可靠性

健壮性(鲁棒性)和可靠性是有区别的,两者对应的英文单词分别是 robustness 和 reliability.健壮性主要描述一个系统对于参数变化的不敏感性,而可靠性主要描述一个系统的正确性,也就是在你固定提供一个参数时,它应该是产生稳定的,能预测的输出.例如一个程序,它的设计目标是获取一个参数并输出一个值.假如它能正确完成这个设计目标,就说它是可靠的.但在这个程序执行完毕后,假如没有正确释放内存,或者说系统没有自动帮它释放占用的资源,就认为这个程序及其"运行时"不具备健壮性或者鲁棒性

关于提高代码质量的思考之提高代码健壮性

接着上期的拓展性之后,今天谈谈代码的健壮性.代码的健壮性又称鲁棒性,是高质量代码的一个重要指标. 有人分析了印度软件行业比中国好的一个原因:印度的一个老程序员,月代码量在一千行左右,这一千行代码,算法平实,但都是经过仔细推敲,实战检验的代码,不会轻易崩溃的代码.我们的程序员,一天就可以写出一千行代码,写的代码简短精干,算法非常有技巧性,但往往是不安全的,不完善的.印度人的程序被称作:傻壮.但程序就得这样! 那么如何写出一个代码简短精干,算法非常有技巧性,而又非常安全的代码呢?我逛了很多论坛,发现

用ORACHK自动化检查数据库系统的健壮性

1.orachk工具主要用途 (1)主动检查您的整个软件在操作系统.CRS.数据库.高可用等层面中的严重问题,以便于IT部门整改,提升系统的稳定性 (2)对于您系统中存在的风险提供简单化和合理化的诊断和分析建议. (3)对系统中存在的健康风险提供汇总信息,并且能够向下钻取到特定的问题和对应的解决方案 (4)对检查结果进行量化评分(100分制),内容非常的全面,通过得分直观判断健康程度 2.运行注意要点 (1)orachk不支持在root用户下运行,需要在oracle或grid用户下运行 (2)如

安装第三方Python模块,增加InfoPi的健壮性

这些第三方Python模块是可选的,不安装的话InfoPi也可以运行. 但是如果安装了,会增加InfoPi的健壮性. 1.chardet chardet可以自动检测文本的编码.如果安装了,可以用于自动检测网页.xml的编码. 安装命令: sudo pip3.4 install chardet 如果系统自带python 3.4或以上版本,可能提示没有pip3.4,换成pip-3.x(x为python的具体版本号)试试. chardet的项目页面: https://pypi.python.org/p

代码健壮性是真的好吗?

我在看一个视频,这个视频里写的代码有这个特点,那就是它把代码写的一个方法可以多次被调用或者说叫利用也可以;同时视频也在一致强调这一点;那我就疑惑了,代码健壮性就那么好吗? 首先,你要写的一个方法能实现不同的功能,在开始设计它的时候就要考虑到各个问题的方方面面,这个对精力应该也是一个很大的消耗吧:这些代码也许写的人能轻松的能读懂,但是如果是别人来读的话,那耗费的时间和精力应该是更大的:如果是更大型的软件,恐怕程序员都要白头了吧:这难道是炫耀技术吗?这个代价也太大了! 其次,现在电脑运算速度是很快的

【软件构造】第七章第一节 健壮性和正确性的区别

第七章第一节  健壮性和正确性的区别 第七章:进入软件构造最关键的质量特性 --健壮性和正确性. 本节在1-2节的基础上,重申了Robustness and Correctness的重要性,澄清了二者之 间的差异,并指明了在软件构造中处理二 者的典型技术(防御式编程.异常处理. 测试.调试等) Outline 健壮性(Robustness)和正确性(correctness) 如何测量健壮性和正确性 Notes ## 健壮性(Robustness)和正确性(correctness) [健壮性] 定