【问题标题】:Performance consideration running C#.net winForms from network share从网络共享运行 C#.net winForms 的性能考虑
【发布时间】:2012-01-30 20:40:29
【问题描述】:

我了解您可以从网络共享运行 .NET 应用程序。我已经做过很多次了,而且效果很好。我的问题与性能有关。 10 个并发用户的应用程序运行速度会比 2 个慢吗?是否有一些神奇的并发用户数量提供了一个经验法则,如果您有超过 20 个用户,则不要以这种方式托管应用程序?

每个客户端是否都复制应用程序并从临时文件夹中的副本运行?或者他们每个人都在访问源文件?在这种情况下Application.ExecutablePath 指向哪里?

编辑:不涉及 Access 数据库。所有数据持久性都将通过带有存储过程等的 SQL 服务器数据库处理。

【问题讨论】:

    标签: c# .net deployment


    【解决方案1】:

    可执行文件从 Windows 共享复制到工作站计算机的内存,并在那里执行。假设可执行文件本身没有共享问题, 性能上不应该有任何明显的差异。

    当然,如果您的应用共享数据库,则可能存在并发问题,但这与工作站获取可执行文件的位置无关。

    Application.ExecutablePath 将指向网络共享上的文件夹。 Environment.SpecialFolder.Desktop 仍应指向工作站。

    【讨论】:

    • -听起来没有缺点。我错过了什么?
    • @MAW74656 似乎你在这里什么都没有。正如罗伯特所说,唯一的警告是来自网络共享的文件,例如数据库或一般来说任何被频繁读取和写入的东西。从网络共享运行 MS Access 数据库时,我有非常糟糕的经历。
    • @UweKeim:多用户 Access 应用程序的前端部分永远不应从共享位置执行。后端数据库可以从一个点共享(假设应用程序已正确拆分为前端和后端对应部分)。
    • @UweKeim -实际上,我们有一些以这种方式运行的旧版访问应用程序,它可以工作....但是速度很慢而且有问题。这就是为什么当我制作新东西时我不使用 Access。
    • @RobertHarvey - 毫不奇怪,如果可以的话,我会把它全部转储到我们的 SQL Server 数据库服务器中,但是优先级和时间会阻止它,所以我现在就忍受它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-01
    • 1970-01-01
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多