【问题标题】:Error when multiple users access my web app at the same time多个用户同时访问我的 Web 应用程序时出错
【发布时间】:2010-10-05 06:29:26
【问题描述】:

我使用 .Net 2008 和 Oracle 10g 作为我的数据库。我遇到的问题是在 IIS 中部署应用程序后,当多个用户一次访问同一页面时,我遇到了错误。无法获得输出。

注意:两个用户同时访问同一个页面,同一个菜单。

我该如何解决这个问题?

【问题讨论】:

  • 您是否收到错误消息或没有输出?这是“屏幕上什么都没有(除了错误消息)”的著名案例吗?
  • 在调试模式(编程阶段)下多用户访问是否正常?
  • s。调试模式没问题,但是在 IIS 中部署应用程序并检查 2 个或更多系统时出现错误!
  • @user: 什么错误,究竟是什么?
  • 异常信息:异常类型:DataAccessException 异常消息:创建数据表时出现问题。 CorpAct.DataAccess.ORADataFactory.CreateDataTable(DataRequest Request) at CRM.EHE.Database.DB_RRReport.getPortFolios(String strMonth, String strYear) in D:\Ranga\EHE Backup\CRM\CRM.EHE\CRM.EHE.Database\RRReport \DB_RRReport.cs:CRM.EHE.Business.BS_RRReport.getPortFolios 的第 312 行(字符串 strMon,

标签: c# asp.net oracle10g


【解决方案1】:

我的猜测是一个标准的线程安全/同步错误,很可能是由于一些静态资源,例如静态连接。显然,这纯粹是猜测,没有更多代码,但它(=网站高度线程化)是一个令人惊讶的普遍疏忽。

如果它一个静态资源,那么......好吧,它可能不应该是静态的。每个请求,或者(特别是在连接的情况下)范围为本地代码(让连接池担心重用)。

【讨论】:

    【解决方案2】:

    它是否“在您的机器上工作”? ;)

    如果没有,请尝试在本地部署一个版本并将调试器附加到 iis。将两个浏览器指向该站点。每当您的浏览器/似乎卡住时,打开调试器的线程窗口并查看线程被阻塞/阻塞的位置。您还可以要求调试器在抛出异常时停止

    【讨论】:

    • 是的,它在我的本地机器上运行良好。问题是在 IIS 中部署应用程序并使用两个或三个浏览器访问时出现错误!!!。如何将调试器附加到 IIS???
    【解决方案3】:

    您的意思是浏览器中没有显示任何内容?

    查看程序的日志。有错误信息吗?

    将一些跟踪语句放入您的代码中,以便您了解它的去向。

    所以错误是说创建表失败。您是否希望为每个用户创建一个表?看看围绕表创建的代码。考虑当该代码的两个副本同时运行时正确的行为应该是什么。

    再次在这些点将跟踪添加到代码中,这样您就可以看到发生了什么。通常,看到这一点比调试更容易,因为当多个线程运行时,调试器会妨碍现实。,

    【讨论】:

    • 不,我遇到了一些异常,我也在使用错误日志。当我检查事件日志时,它显示了一些错误消息。但无法得到错误是......
    • 你应该告诉我们错误信息和异常是什么
    • 异常信息:异常类型:DataAccessException 异常消息:创建数据表时出现问题。 CorpAct.DataAccess.ORADataFactory.CreateDataTable(DataRequest Request) at CRM.EHE.Database.DB_RRReport.getPortFolios(String strMonth, String strYear) in D:\Ranga\EHE Backup\CRM\CRM.EHE\CRM.EHE.Database\RRReport \DB_RRReport.cs:CRM.EHE.Business.BS_RRReport.getPortFolios 的第 312 行(字符串 strMon
    猜你喜欢
    • 2018-05-10
    • 2017-04-29
    • 2016-01-05
    • 2014-04-19
    • 1970-01-01
    • 2018-09-02
    • 1970-01-01
    • 2016-11-23
    • 1970-01-01
    相关资源
    最近更新 更多