ASP.NET 编译时报错:无法创建新的堆栈防护页面 |
您所在的位置:网站首页 › 解决无法创建新的堆栈 › ASP.NET 编译时报错:无法创建新的堆栈防护页面 |
最近发现一个奇怪现像: 如果在Visual Studio里生成网站,则VS直接退出。 如果用命令行编译或者在网页里直接运行,则报异常:“无法创建新的堆栈防护页面”。 原因应该是函数反复递归调用导致堆栈溢出,但此时并没有执行到自己的程序,还仅是编译,为什么会报这个错呢? 又分析了一下,发现是在一个自定义控件里,同时定义了两个属性: key 和 Key 。 原因是为了保持调用方的兼容,其实里面的内容是一样的。 public string Key {get{ return key; }} 后来删除了其中一个属性 Key,就好了。具体的原因也不太清楚。可能是 ASP.NET 的运行时不区分大小写吧,把这两个变量当成了一个,结果成了递归调用。 教训就是在asp.net里不要使用仅大小写不同的变量。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |