小编nWo*_*orx的帖子

提高性能的最佳方法(并以某种方式包括故障转移)

我们有一个运行的应用程序,其中IIS和SQL在同一台机器上.它是一个Windows2003标准服务器,在VM上运行4GB内存.

现在,用户数量不断增加.还有一些巨大的统计数据,可以由用户运行,但对其他用户的性能影响很大.所以我们需要以某种方式提高性能.

我想在每台机器上使用windows2008 64位和至少6 GB内存的2台不同机器上分离IIS和SQL,但它也应该有一个故障转移解决方案.

您能否推荐一些有关如何解决性能和故障转移问题的方案?

谢谢

PS:

仅供参考:我们现在在IIS中使用inproc状态管理,但我认为更改为sqlstatemanagement会更好.

编辑

我已经将问题扩展到了故障转移的程度.因为我们的客户不想在服务器和SQL许可证上花太多钱.将复制到第二个SQL服务器并将其用作故障转移是否"可以"?你知道更好的"廉价"解决方案吗?

该应用程序仅供内部使用,但现在越来越多的部门参与此项目.

sql windows asp.net iis

7
推荐指数
1
解决办法
698
查看次数

如何防止同一用户在不同电脑上同时登录

我们已经构建了一个内部网应用程序,用户必须登录才能执行某些任务......我们必须确保没有“应用程序用户”同时登录多次。

所以我现在所做的是将当前的 asp .net 会话 ID 存储在数据库中,然后在每个页面加载时进行比较,无论它们是否相同。当用户登录时,会话 ID 存储在数据库中。

但是通过使用这种检查,总是需要一个数据库选择。所以我不太喜欢这种方式。必须有更优雅的方法来解决这个问题,或者?

我们使用 ASP .Net2, C#..

提前感谢您的任何意见

[信息更新]

我已经创建了一个自定义 Membershipprovider 和一个自定义 Membershippuser。Membershipuser 有一个名为“StartSession(string sessionId)”的方法,在用户登录时使用。

另一个方法 CheckSession(string sessionId) 在每次回发时使用,它将当前会话 ID 与存储在数据库中的会话 ID 进行比较。

[更新] 感谢大家的意见。我现在将使用缓存来防止永久数据库访问。我首先想到的是已经有一个类或已经在处理这个问题的东西了。

c# asp.net

4
推荐指数
1
解决办法
8641
查看次数

何时使用私有成员 - 何时传递为函数/方法参数

我经常发现自己在编写一个新类时,在类中我传递了许多私有方法中的参数.另一方面,我也创建了一些私人成员,并在一种方法中使用它们.

所以我的问题是"你在哪个规则之后创建了一个私有成员,当你不这样做并将变量从私有方法传递给私有方法"时?

你能给我一些简单的提示或提示,以便设计变得更好吗?

language-agnostic

4
推荐指数
1
解决办法
1360
查看次数

软件设计问题:循环依赖

我遇到了一个小小的设计问题.

以下情况

图书馆界面

包含每个模型类的接口(仅限getter和setter)

Libray Businnes Logic

包含接口库和DAL的实现.使用接口和传输器库

Library Transporter:包含用于消息传递第三方Web服务的类.如果需要,我还想添加第三方库的引用或Web引用.使用接口库.

到目前为止太好了.现在没有循环依赖.只要需要调用Web服务,业务逻辑库就会使用"transporter"库来调用extern方法.这非常有效.

但现在我需要创建一个Web服务,第三方应该能够在我们这边创建业务对象.我想创建一个"转换库",其中bussines对象转换为外部webservies的消息对象,反之亦然.我认为这是我当前架构的问题.如果我想创建这个库,我会得到循环依赖.原因是

  • 转运蛋白引用变换
  • 转换库引用BL
  • BL引用转运蛋白

我希望我能很好地解释我的情况.

感谢您解决这个问题的每一个想法.

c#

1
推荐指数
1
解决办法
948
查看次数

标签 统计

asp.net ×2

c# ×2

iis ×1

language-agnostic ×1

sql ×1

windows ×1