在你无权建立新的虚拟目录的情况下(实际上这种情况是虚拟主机用户经常遇到的)
你就必须把web.config文件App_Code目录bin目录等东西都放在根目录下
所以要想在一个虚拟主机下放入两个或多个asp.net程序会是一件十分困难的事
而这种需要是常常有的,比如主站下面还要放一个论坛、或者要搭配一个博客系统
而asp/php以及其他很多网页语言都没有这样硬性的路径要求
如果不需要整合用户数据的话,假如使用相对路径
asp/php的程序基本上可以直接全部复制到任何一个文件夹都可以完全正常运行
但asp.net不放在根目录或者虚拟目录就会出错,这种硬性规定路径的设计实在是太差了
你就必须把web.config文件App_Code目录bin目录等东西都放在根目录下
所以要想在一个虚拟主机下放入两个或多个asp.net程序会是一件十分困难的事
而这种需要是常常有的,比如主站下面还要放一个论坛、或者要搭配一个博客系统
而asp/php以及其他很多网页语言都没有这样硬性的路径要求
如果不需要整合用户数据的话,假如使用相对路径
asp/php的程序基本上可以直接全部复制到任何一个文件夹都可以完全正常运行
但asp.net不放在根目录或者虚拟目录就会出错,这种硬性规定路径的设计实在是太差了
解决方案 »
- 一个域名和一个空间怎么放两个网站?
- asp.net gzip压缩代码使用问题
- 将word转为html后再读出来时就乱码,请问如何解决呢?
- 急急急急!!!一个DataList的问题。一个星期了还没有解决
- 框架中打开新的页面
- 这个ASP.NET开发环境有问题吗?
- 发送贺卡的问题——————急急急
- 关于用户控件和javascript问题
- 哪里有vs7代码(类,结构,枚举...)图表参考资料文档?
- 如何让select max(id) from abc得到的值加1后作为insert into abc(id) values(XX)中的XX的值?
- 对接口的一点疑问,请各位高手帮忙解决啊
- c#中析构函数的问题.
你就必须把web.config文件App_Code目录bin目录等东西都放在根目录下
所以要想在一个虚拟主机下放入两个或多个asp.net程序会是一件十分困难的事
而这种需要是常常有的,比如主站下面还要放一个论坛、或者要搭配一个博客系统
===========================================================
谁也没有规定一定要用web.config嘛,你可以用自己定义的xml文件(甚至文本文件来保存配置信息)。
配置一个应用程序配置多个网站,你可以将你的bin下的dll文件放到应用程序的bin目录下嘛。
而asp/php以及其他很多网页语言都没有这样硬性的路径要求
如果不需要整合用户数据的话,假如使用相对路径
asp/php的程序基本上可以直接全部复制到任何一个文件夹都可以完全正常运行
但asp.net不放在根目录或者虚拟目录就会出错,这种硬性规定路径的设计实在是太差了
=====================================
不敢苟同。
php没用过
你认为虚拟主机服务商可能允许你改变C盘的东西么?
To 2 楼:
不是我用不用web.config的问题,我可以选择不用,但是有时候我们要用现成的程序啊,比如我想把Dvbbs.Net放到/bbs/目录里去,不建虚拟目录就很难办到,而asp版本的直接复制就可以了。打个比方吧,今天为了测试虚拟主机的性能,我下载了个asp.net探针,它自己有个web.config,而我根目录下放了个在线压缩解压缩程序,如果我覆盖,在线解压缩程序用不了了,如果跳过,探针用不了了。像以前asp我直接新建一个文件夹放进去就可以了
To 3 楼:
仍然是这句话,不是“如果”我怎么样的问题,而是那些现成的程序它都没这样做撒,区区一个探针就得占据着web.config,别的东西哪放去?
asp程序基本上大部分(我没说全部)没有用到global.asa文件
而出现错误也只能依靠修改IIS的机制来跳转在.net中,加上了这个东东,它可以实现的功能很多,包括身份验证,包括错误处理(是否显示详细错误,是否跳转到指定页面等),包括页面超时时间和允许上传的文件大小等设置,当然所有开发程序的人都愿意用它,在发布后也能很方便的调整。而web.config中的这些信息在asp中完全不能简单实现,基本上都是要在iis中设定。而你说的问题只是在下载别人的东西时不能处理,别人开发程序当然基本上都是考虑发布在正常的服务器上,而不会考虑是不是允许设置为虚拟目录你完全可以按你的需求自己开发同样的一套东西,比如探针,简单的开发顶多1小时罢了。
虚拟主机商不会为一个客户开多个虚拟目录的,不然的话 名称会打架的。(好的名称给谁用呢)net 只是要求 web.config 和 bin 文件夹 在 根目录下 ,至于 你的页面 可以放在空间的任何路径下面。 只要你把访问地址输入正确一样可以访问
~/ABC
或
../../ABC
To 5 楼:
要说探针还能自己做,那动网论坛.Net呢?总不会也自己做撒,那也就是说在不允许建虚拟目录的虚拟主机里,你就甭想用现成的程序了,除非你愿意让它一个程序占据你整个虚拟主机别的程序没地方放
To 6、7 楼:
web.config怎么没冲突呢?整个站点就只能有一个web.config,你将就了这个就将就不了那个,将就了那个就将就不了这个。也就是说一个虚拟主机下只能放一套程序,而且必须把它放在根目录。
To 8、9 楼:
不知所云
比如你在根目录下放了一些自己写的东西,用到了web.config。
然而现在你下载了两套现成的系统,希望把它们分别放到/bbs/目录和/cms/目录,而它们都用到了web.config,并且他们的bin目录里有文件名相同但内容不同的文件,它们的复杂程度是你完全不可能自己另写的。
不让你创建虚拟目录,你现在该怎么实现?
只是由于供应商的限制,导出asp.net在虚拟主机上的应用有了点问题
那你不想想.net的强大功能呢?而这个实际上也不存在你说的对于路径的依赖太严重的问题,只是因为开发者正好和供应商有冲突
比如对asp,很多供应商都限制了fso的应用,那是不是你又要说,asp对fso的依赖太严重了呢?
况且FSO又不是asp的属性,它只是一个组件,Asp.Net一样可以用它
我没说没想过Asp.Net的强大功能撒,Asp.Net的功能确实强大得很。
但是我现在不是做测评,不是整体比较它们哪个好,而是说其中一方面,我只是在说对路径的硬性规定的这一方面。
web.config怎么没冲突呢?整个站点就只能有一个web.config,你将就了这个就将就不了那个,将就了那个就将就不了这个。也就是说一个虚拟主机下只能放一套程序,而且必须把它放在根目录。这就是你的问题了,谁说配置文件就必须在 web.config里了,你一样可以写在别的文件里,何必那么死板。都能建立虚拟目录的话,我把你想要的虚拟目录抢先建立了,请问你怎么办。以前公司也是用的虚拟空间,一样放多个程序,只是规定好了,名称要区分开来,当时还不是用的一个 web.config。不同情况下,不同的处理方式,只能说你太死板了吧。
是的,对于我自己编写的程序我可以不放在web.config里,但是关键是并非任何时候都是自己写的程序啊,比如一个BBS和一个CMS,都是下载的现成程序,它们就是这么做的,它们写在了web.config里啊。如果在asp下,可以把任意多套程序放在任意路径,但是Asp.Net只能放一套程序,并且连路径都规定死了只能在根目录。
晕,你看错了吧 我的意思是可以放多个的如果你下的 bbs 和 cms 数据库连接字符串的名称是一样的 怎么办,你就在这说路径依赖太严重?对问题的解决没任何办法。只能说 你没明白原理,知道原理后,才能进行修改。程序是死的,人是活的啊。
如果你们是自己开发的话,就应该避免重名的行为。这是你们可以控制的。如果用第三方的,其实你注意看看 基本上名字都是有区分的,不会有重复的,特别是比较教有名的。如果碰到了 重名 ,发封邮件去提醒他们一下,然后换一套程序,这点小问题都没考虑到,别的地方只怕也会有问题。虚拟主机是这样的,至少 我两三年没碰到. webconfig 数据库 项目名 全都要考虑重名的问题。现在公司买了个服务器,想怎么配置就怎么配置,不过现在考虑的问题就是服务安全的问题了。虚拟主机管理员不会帮你做什么的,都要自己想办法。抱怨一下,消消火,然后继续思考如何去解决,问题终究是需要你 自己去解决的。
sb,鉴定完毕
楼主可以考虑将两个web.config的内容合并。
两个web.config中的内容如果是比较有名的应用程序一般都会考虑重名问题。
应该是可以合并的。
.NET规定死了必须放在根目录、又规定死了文件名。规定了根目录 的是 web.config 和 bin 文件夹。至于你的项目 可以在虚拟目录的不同文件夹里,运行的时候无非加点文件夹名称,而并非是根目录下。 只程序不过运行的时候,在根目录下去寻找 web.config 和 对应的dll.这么说,再该明白了吧。