【问题标题】:AjaxControlToolkit AsyncUpload Creates New Session on upload completedAjaxControlToolkit AsyncUpload 在上传完成时创建新会话
【发布时间】:2013-12-09 08:19:35
【问题描述】:

我使用的是 Ajax Control Toolkit 3.5(项目无法升级到 4.0)。该项目还使用 Cookieless 会话。这个应用非常依赖会话状态。

每当我 F5 调试应用程序时,它都能正常工作。但是,我已经将应用程序部署到 IIS7 并且发生了一个奇怪的行为。每当上传文件时,输入框都会按预期变为绿色,但它正在终止会话状态。相反,它似乎正在创建一个新会话。

我没有做任何特别的事情。我已插入控件:

<asp:AsyncFileUpload ID="AsyncFileUpload1" runat="server" PersistFile="true" Width="220" />

我在保存时检查 FileBytes。我在想可能与 PersistFile 不兼容,但同样,它在调试时工作正常。

非常感谢任何建议!

【问题讨论】:

    标签: asp.net ajax session


    【解决方案1】:

    我想您将文件保存在同一个 Web 应用程序中。当 IIS 在 Web 应用程序中检测到一定数量的新文件(不知道有多少)时,它将重新启动应用程序(从而终止所有会话)。

    假设您当前将文件保存在名为/files 的目录中。如果您仍需要通过 URL 访问这些文件,您可以执行以下操作:

    1. 在 IIS 中创建一个名为 files 的虚拟目录
    2. 将虚拟目录指向 Web 应用程序之外的目录

    当您现在保存文件时,它们仍可在同一 URL 上使用,但它们将保存在 Web 应用程序之外,并且您的应用程序不会重新启动

    【讨论】:

    • 谢谢。我本身并没有指定保存位置 - 我只是利用我的保存方法中的 FileBytes 属性(如果 HasFile 为真)。我使用过其他控件库,它们使用临时 appdata 文件夹。我真的看不到这里配置的任何东西,所以我不确定persistfile上传在后台是如何工作的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-22
    • 1970-01-01
    • 2020-07-13
    • 1970-01-01
    • 2015-05-01
    • 2014-12-29
    • 1970-01-01
    相关资源
    最近更新 更多