• 打开网址的方式也有讲究


    今天遇到了一个小小的错误,却花去了不少的时间,比较郁闷,最后在不经意间解决了。

      这两天正在做一个类似教务系统的管理软件,其中有些东西和之前做的新闻发布系统类似,就想着在这基础上改造下后拿来用,可运行新闻发布系统时,

    总是弹出一个配置文件的错误,提示“在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚

    拟目录配置为应用程序,则可能导致此错误。······ ”,上网搜了很多的资料,都没有解决。看到IIS就想到可能是之前网站发布才导致的错误,于是删除了发布

    的网站,最后连IIS都卸载了,问题依旧没有得到解决。

      能想到的办法都用了,剩下的就差研究配置文件了,索性暂时放下这个错误不管了,一顿午饭回来,不甘心的我又打开了,再次运行时居然不报错了,欣喜

    之余开始找问题根源,原来问题出在我打开网站的方式上。

      网站源码总共包括四个文件夹:分别是Web、Bll、Dal、Entity。我起初在vs中打开网站选择的是这四个文件夹的上一个目录文件夹,也就把这四个文件夹

    全部包含在内,打开后在vs资源管理器中显示如下图:

      而我成功运行打开的是Web这个文件夹,如下图:

      对二者进行了对比后,再回过头看出现的错误,不难看出网站并不是指项目中的所有文件,而是指包含界面的那一个文件夹或多个,其余的只是网站的

    组成部分,这是我的个人理解。

      在网上找到了一篇文章,《比较虚拟目录和应用程序》其中有一段是这样说的:

      虚拟目录和应用程序是两个非常容易混淆的概念。但是在IIS 7.0中,虚拟目录和应用程序是截然不同的两个概念。应用程序是一个逻辑边界,这个

    逻辑边界可以分隔网站及其组成部分。虚拟目录则是一个真实的指针,这个指针指向了一个本地或远程物理路径。虚拟目录总是存在于应用程序之中,一

    个应用程序可包括多个虚拟目录。

      结合我自己的项目,应用程序是指包含了所有项目文件(Web、Bll、Dal、Entity);而虚拟目录仅仅是Web这个文件夹,并不包含Bll等文件夹,bll等文件只是网站的组成部分。

      所以我打开网站时只需打开Web(虚拟目录)这个文件夹即可,其他的会被vs当成组成部分而加载进来,如果把所有的文件全用网站形式打开,vs会默认所有文件都是虚拟目录,运行时却发现是应用程序而报错。

  • 相关阅读:
    INSPIRED启示录 读书笔记
    INSPIRED启示录 读书笔记
    INSPIRED启示录 读书笔记
    INSPIRED启示录 读书笔记
    dialog窗口也能刷新
    js验证数字及操作备份
    工具类
    查询结果设置背景色
    decmain主体类经典保存备份
    jquery操作备份
  • 原文地址:https://www.cnblogs.com/weihengblogs/p/2740972.html
Copyright © 2020-2023  润新知