.net服务器上,一个虚拟目录放多个网站的方法
来源:互联网 发布:jsaas 源码 编辑:程序博客网 时间:2024/06/05 07:18
把bin文件夹,web.config文件 放在网站的根目录(update:我说的这个网站根目录不是指网站所以在目录的根目录比如c盘d盘什么的,而是放网站的那个文件夹)或虚拟目录下做为一个总的配置.
比如你要在网站根目录下放site1,site2,site3三个文件夹,分别代表你的三个网站. 先把site1里的,bin文件夹及web.config文件复制出来到外面来让它与site1,site2,site3 平级. 然后把site2,site3里的bin里的dll,复制到外面的bin文件夹里. 把site2,site3里的web.config里的连接字符串copy到外面的web.config里,一般是放在<Appsettings></Appsettings>节点或者<connectionStrings></connectionStrings> 节点里.
然后,把site1,site2,site3目录下的,bin文件夹(主要是里面的dll)及web.config全部删掉(不删掉的话就重命名下把扩展名改掉),这样就可以了.
总之就是把子目录里的bin和web.config里的东西全部弄到网站根目录(或虚拟目录)的bin和web.config里. 然后删之.
ps: web.config里的连接字符串不能一样. 比如你两个都是key="SqlConnectionString",另一个就要改成key="SqlConnectionString1"或其它的, 改了后,你相应的项目要重新编译一下. 毕竟都是预编译的.如果你要用到Ms Sql(SqlServer),Access,MySql 数据库,把它们的连接字符串都写进去,经测试,没有问题.
一点经验,希望能帮到你.
当时弄得我焦头烂额,苦苦挣扎,茶饭不思,..er...所以 -转载请注明- 啊.
The end.
app.Config中增加一小节
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin;bin2\subbin;bin3"/>
</assemblyBinding>
</runtime>
//"bin;bin2\subbin;bin3"指你程序集所放的位置多个用分号分隔
具体可以参考MSND2005,VS2008的也是这样设置
MSDN2005关于于这个配置连接为 ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_fxconfig/html/1cb92bd7-6bab-44cf-8fd3-36303ce84fea.htm
定位位置为:开发工具和语言-->Visual Studio 文档-->.Net Framework核心开发-->Configuration 对象-->指定程序集的位置
可以在MSND中索引 <probing>
http://www.cnblogs.com/kkun/archive/2008/12/22/1360005.html
这个机器配置不用太关心,还是关心我们的重点web.config 因为这是我们每个项目都要用到的,做ASP.NET必学吧。
4. 配置文件的级别
服务器
Machine.config
Machine.config 文件包含服务器上所有 Web 应用程序的 ASP.NET 架构。此文件位于配置合并层次结构的顶层。
根 Web
Web.config
服务器的 Web.config 文件与 Machine.config 文件存储在同一个目录中,它包含大部分system.web 配置节的默认值。运行时,此文件是从配置层次结构中的从上往下数第二层合并的。
网站
Web.config
特定网站的 Web.config 文件包含应用于该网站的设置,并向下继承到该站点的所有 ASP.NET 应用程序和子目录。
ASP.NET 应用程序根目录
Web.config
特定 ASP.NET 应用程序的 Web.config 文件位于该应用程序的根目录中,它包含应用于 Web 应用程序并向下继承到其分支中的所有子目录的设置。
ASP.NET 应用程序子目录
Web.config
应用程序子目录的 Web.config 文件包含应用于此子目录并向下继承到其分支中的所有子目录的设置。
客户端应用程序目录
应用程序名称.config
应用程序名称.config 文件包含 Windows 客户端应用程序(而非 Web 应用程序)的设置。
<configuration> <!-- 所有的 ASP.NET 配置信息都驻留在 configuration 元素中.
此元素中的配置信息分为两个主区域:配置节处理程序声明区域和配置节设置区域 -->
<configSections>
<!-- 配置节处理程序声明区域 驻留在 configSections 元素内 -->
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<!-- 节处理程序是用来实现 ConfigurationSection 接口的 .NET Framework 类
学过Java的就知道,相当于:ConfigurationSection config = new ScriptingWebServicesSectionGroup() 我的理解是这样的,不对请多多指教,最好留言说明!
-->
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
</sectionGroup>
</sectionGroup>
</sectionGroup>
<!-- sectionGroup 元素表示要应用配置设置的命名空间 -->
</configSections>
<appSettings/>
<!-- 此节用于定义应用程序设置项。对一些不确定设置,还可以让用户根据自己实际情况自己设置 ;使用add添加并设置属性 -->
<connectionStrings>
<add connectionString="server=.;userid=sa;pwd=;databaseName=Northwind" name="Northwind"/>
</connectionStrings>
痴人硕梦
- .net服务器上,一个虚拟目录放多个网站的方法
- 在一个网站下再以虚拟目录的方式挂N个网站的方法
- 同一个网站,根站点和虚拟目录站点 ASP.net 版本不一样,存在的一个麻烦问题。
- 同一个网站,根站点和虚拟目录站点 ASP.net 版本不一样,存在的一个麻烦问题。
- ASP.NET网站中获取当前虚拟目录的应用程序目录的方法
- tomcat服务器网站配置虚拟目录
- .Net修改网站项目调试时的虚拟目录
- A网站引用B服务器虚拟目录文件导致:网站部署到IIS7上出现HTTP 错误 500.19(由于权限不足而无法读取配置文件)的问题
- 目的:实现一个2008serve的IIS的虚拟目录(通过网络路径(UNC)的形式,共享在另外一个2008服务器上
- 网站环境apache + php + mysql 的XAMPP,如何实现一个服务器上配置多个网站?
- .net网站发布只生成一个dll的方法
- .net网站发布只生成一个dll的方法
- iis中添加虚拟目录,作用在于可以把文件并不放在一个文件夹内,最大的好处是可以用别的服务器上的文件
- ASP.NET 管理网站(虚拟目录)
- 有关网站虚拟目录的解释
- 如何将一个服务器上的数据库搞到另一个服务器上,方法之一
- 自己写的一个.net跨服务器查询方法
- Tomcat服务器虚拟目录的设置
- 【转】字典树[Trie]
- mysql 对同一个表select 和update
- Hadoop——你不得不了解的大数据工具
- [EGORefreshTableHeaderView]手动启动下拉更新的方法
- 温故而知新-归并排序(JAVA)
- .net服务器上,一个虚拟目录放多个网站的方法
- 屏幕亮度自动调节的实现
- IEEE 754 浮点数的表示精度探讨
- Array的push与unshift方法性能分析
- 一个很好用的在Office开发中图像转化成stdole模式的类
- Flex开发常遇问题
- 管理oracle clusterware (Voting Disk)
- Eclipse SWT
- Android中的控件