首页 > 代码库 > IIS Server Error in '/' Application
IIS Server Error in '/' Application
我出现的问题:
如仅靠标题中的句子是无法确定是那种错误的,
在上图中能标志错误的是
Parser Error Message:Could not load type "WebProjectTest.Test".
这句就我的理解,
大概意思是:解析器给你的一个错误消息:不能加载类型“WebProjectTest.Test".
显然引号里面是一个路径吧,
看看
Source Error(资源错误):
注意看到第一行是红色的,说明问题就在这里。
对于一个初学者出现这样的问题应该怎么办?
不慌我们一步一步的来分析:
第一,我们能确定的是那行红色代码的即:
Line 1: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="WebProjectTest.Test" %>
有错,
这行代码一般是看不懂的(初学者)放心看看下面或许我们就会懂了。
下面会用“红色代码”的称呼来标志上面的代码。
我们必须要理解这行代码,不然问题很难解决,我首先想到了帮助文档(注意不是百度,过于的依赖百度,Google等搜索引擎,会惯坏我们滴,或许它能很快的解决
我们发生的错误但一些实质性的东西是看不到的,虽然你也在看这篇文章,嘻嘻),
微软帮助文档网站:http://search.msdn.microsoft.com/search/zh-CN/default.aspx
因为我看到Page这个词,开始学一般会知道它是一个类,所以我就查询它
通过这个页面也可看到Page类,但是你点进去后会发现,找不到在红色代码中的像Language,Inherits的关键字,
但是细心的我们会发现在下面居然有个@Page,点点试试呢,因为在那个红色代码中也有@Page,或许查Page根本就是理解上的错误。
点入@Page那个之后,哈哈我们就看到了在红色代码中出现的单词了,其实就是属性。
现在我们一个一个属性的找看看它们对应是什么功能。
当我们看到CodeBehind属性的时候,就知道有戏了问题可能就出现在这里:
CodeBehind属性的说明居然说:指定包含与页关联的类的已编译文件的名称。该属性不能在运行时使用。
应改用 CodeFile 属性指定该源文件的名称,同时使用 Inherits 属性指定该类的完全限定名称。
那我们就将CodeBehind属性改成CodeFile属性试试呢(注意保存)。
然后再在IIS中运行你修改了@Page属性的网页,哈哈,出现了。
总结:
1,学会使用帮助文档,要减少对一定工具的依赖。
2,要学会思考解决问题的思维模式,要相信自己,一定能通过自己的能力独立完成这个问题的解决,获取会耗费更多的时间,
但我保证你所学习到的知识一定会远远超过这个问题的解决方法,或许你以后会的不是解决这个问题,而是这类问题。
3,利用控制变量法解决问题。
4,要学会弄出一定问题来自己解决(或者这与上面无关但我的大脑就闪现了这个结论,你的总结不一定就是一定知识的总结,只要大脑
中显示出了一些具有意义的方法就行,比如写代码,在初学的时候,学的比较好的人或许都不知道一些异常窗口是什么,都是同学出现了这些
问题,才知道会出现这种窗口的,所以利弊总有吧。)
5,一般新建网页中@Page有CodeFile属性,新建项目中@Page有CodeBehind属性。
说明:
我简单说一下我处理这个问题的流程,
这个问题是产生在偶然。
我原本有个练习的时候写的小网站只有几十行代码,我用的是新建项目,用iis打开浏览网页的时候就出现了上诉问题,
然后我就 用一个用新建网站的方式生成的小网站,用iis打开浏览网页时正常的。
所以猜测:
新建项目,不能直接用iis打开其中的网页,
但
新建网站,能直接用iis打开其中的网页,
也能得到一些隐藏信息:iis的设置可能是正确的。这点很关键。
(思维方式,对比法,新建网站与新建项目不就是很鲜明的对比么?为啥我会想到新建网站与新建项目对比或许与经验有关吧
1,我一直很纠结新建网站与新建项目有啥不同,2,经验告诉我,我就没有新建项目成功弄好过iis,而新建网站弄好过)
有猜测当然就要论证:
要论证肯定要设计论证方案:
注意到小网站虽小(网站小,但也可能是那几十行代码的问题,要将这种可能尽早的扼杀在摇篮里,而且如果猜测错误,也能得出可能与这几十行代码有关涩),但可能就是有一些不必要的元素影响的我论证,所以我分别采用新建项目和新建网站的方式建立了最简单的模型。
(思维方式,模型化,我们将我们研究的对象抽象到最纯净的状态,目的是为了防止一定不必要的因素影响测试)
(思维方式,分析法,注意到有猜测就要有论证,有论证就要有论证方案(即实验),这两句就是有点儿像数学上的分析法证明不等式,思路就非常流畅的衔接过去了)
最后我实验结果是:
新建的新建项目,iis运行后,显示了我们最面研究的情况。
新建的新建网站,iis运行后,正常。
结论:
新建项目的某些因素触发了问题的产生。
对比法,
猜测,1,配置文件问题,2,窗体文件问题。
比较各自的代码后,发现窗体文件的@Page中的某些属性不用。
属性变换后就能成功。
我现在讲的这么和最上面讲的流程不同了?
对,这里就是我犯了严重的错误,我没有分析页面弹出来的错消息。
而凭经验来花时间猜测论证等。
再总结:
处理问题就像做实验一样,你需要不断的
操作 分析,猜测,论证,结论。这里考察了很强的逻辑能力。
或许上面的操作 步骤不全面,但会随着经验来不断的完善这些步骤。
解决问题是一种思维的体现。