CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

总网站和子网站整体建设策略,有兴趣的朋友,欢迎进来讨论!

楼主clm0010(小蔡)2005-07-06 00:50:07 在 .NET技术 / ASP.NET 提问

现要做一个大公司网站,这个公司有10来个分公司,网站除了总公司网站外,每个分公司也要有一个分网站。由于所有网站同一个服务器,为了尽量减少重复工作,我打算用同一个站点,同一个数据库来包含总公司的网站和分公司的网站,即一个Web.config,然后每个公司的网站文件用一个文件夹。在数据库里面,每个分公司都有一个公司代码company(1\2\3\4...)来标识。  
  在分公司的页面里面,就可以这样读取数据   select   *   from   新闻   where   company=公司变量。  
  现在问题是,几乎每个SQL语句都需要   where   company=公司变量   ,所以,我想能不为每个分公司的网站设置一个分站点的全局变量来控制“公司变量”,那么我在每个   SQL   语句里面就不用写上具体数字,而是一个已经读取的变量。  
  希望我说得明白,谢谢您能参与讨论! 问题点数:88、回复次数:11Top

1 楼saucer(思归)回复于 2005-07-06 01:23:39 得分 68

你的SQL语句都是写在哪里的?是在持久层里么?  
   
  有几种方法,  
   
  1。在每个公司文件夹里,加一个web.config  
   
  <configuration>  
  <appSettings>  
  <add   key="CompanyID"   value="4"   />  
  </appSettings>  
  </configuration>  
   
  然后在你的编码里用  
  System.Configuration.ConfigurationSettings.AppSettings["CompanyID"]  
   
  2。把你的公司的集合名字放在一个Application变量或某个类的静态变量里,然后在Application_BeginRequest里,分析当前用户请求的URL,找到对应的公司ID,存在HttpContext.Current.Items里Top

2 楼clm0010(小蔡)回复于 2005-07-06 07:54:19 得分 0

非常感谢思归在凌晨的回复,SQL语句是写在MS   SQLSERVER   的存储过程里面的,就是数据层里面,刚开始我也想写在web.config里面,但是因为分公司的标识是标量,所以放弃了这个想法。Top

3 楼saucer(思归)回复于 2005-07-06 08:12:01 得分 0

>>>但是因为分公司的标识是标量  
   
  "分公司的标识是标量"?   什么意思?web.config也可以在子目录里存在的  
  Top

4 楼codeangel(http://www.wSoft.Net)回复于 2005-07-06 09:06:46 得分 3

分公司的标识是标量的意思可能是,  
  他的关键table中都有companyID这个Field.用它来区分分公司的record.Top

5 楼clm0010(小蔡)回复于 2005-07-06 12:05:05 得分 0

就是codeangel的意思,思归说web.config也可以在子目录里面存在,那么一个站点里面可以有N个web.config而且分布在不同的目录里面。如是,则在每个分站点里面建立一个web.config,不过这种方法是不能保密的,^_^Top

6 楼saucer(思归)回复于 2005-07-06 12:23:05 得分 0

>>不过这种方法是不能保密的  
   
  跟谁保密?假如黑客进入了你的系统,你什么密都无法保了  
   
  如果你向你的分公司的人保密,那你应该设置每个子目录的安全设置,那么他们也不可能看到别的子目录里的东西  
   
  web.config虽然烦琐一点,但这几乎是静态的方法,不需要在其他地方加编码,假如在Application_BeginRequest里做(即使把数据从配置文件里一次性读出来然后缓存),那么每个请求都需要算一遍Top

7 楼renyu732(Sysinfo)回复于 2005-07-06 12:58:49 得分 8

推荐思归的web.config方法.  
  Top

8 楼yyne(一步一个脚印往上爬)回复于 2005-07-06 13:57:12 得分 2

嗯,跟高人学习来了~   顺便帮楼主顶一下~Top

9 楼we2001lmch(追寻)回复于 2005-07-06 15:04:47 得分 2

学习一下Top

10 楼Seeko0(阿 枫(终点又回到起点,到现在我才发现))回复于 2005-07-06 15:15:16 得分 5

多看看.text设计代码,多公司网站并不代表一定要为每个公司建立网站,我认为建立一个网站,然后通过模块划分,给每个子公司一个相同的使用模块就可以了Top

11 楼clm0010(小蔡)回复于 2005-07-08 23:05:52 得分 0

结果:采用思归的办法,在总目录了子目录下都建立web.config,谢谢大家的帮助!Top

相关问题

  • OA讨论,感兴趣的请进!
  • [讨论]微软的.net策略与Sun的基于JAVA的策略(100分.讨论都加分)
  • 请大家讨论:用InterBase 6.0是好策略吗
  • 讨论sql server7升级到sql server2000的策略与方案
  • 大家讨论下关于实现网站统计的策略
  • 谁有兴趣讨论一下编写日志的问题
  • 测试!!!感兴趣的不妨来看看,讨论一下!!!
  • 关于 Rational Suite Enterprise,有兴趣的请进来讨论。
  • 关于网络封包的问题!有兴趣的来讨论!!!
  • 关于SCJP1.4考试,有兴趣的进来讨论一下。

关键词

  • 网站
  • 语句
  • 数据
  • application
  • sql
  • 分公司
  • 变量
  • 子目录
  • 思归
  • 站点

得分解答快速导航

  • 帖主:clm0010
  • saucer
  • codeangel
  • renyu732
  • yyne
  • we2001lmch
  • Seeko0

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo