【问题标题】:Stop Processing Of ASP.Net Web Form on Opening an Exe在打开 exe 时停止处理 ASP.Net Web 表单
【发布时间】:2012-08-24 09:56:32
【问题描述】:

在我的 ASP.net 应用程序中,我必须在单击按钮时打开一个 EXE。当 EXE 打开时,不应允许用户在 Web 表单上执行任何操作,即 exe 的行为应类似于模式弹出窗口。我正在使用当前代码从 EXE 打开并返回值。

        Dim p As Process

    p = Process.Start("D:\VS2010Projects\SignatureCaptureWindows\bin\Debug\SignatureCaptureWindows.exe")

    p.WaitForExit()

    If (Not p.ExitCode.Equals(0)) Then
        Response.Write("Image Successfully saved in Database with ID = " + p.ExitCode.ToString())
        DisplaySavedImage(p.ExitCode)
    End If

Exe 可以正常打开并返回正确的值。但是,当 exe 打开时,用户可以在 Web 表单上执行操作...

处理这种情况的最佳方法是什么??

【问题讨论】:

  • 如果您想在服务器上运行此 EXE 时完全阻止用户与网站交互,那么恕我直言,您是在自找麻烦。如果服务器出现故障,用户的网站完全无法使用,会发生什么情况?
  • @freefaller 该exe将用于捕获用户的签名。一旦捕获到签名,则可以进一步处理表单
  • EXE 在做什么并不重要,问题在于浏览器上所有用户交互的“阻塞”。阿里斯托斯给出了很好的答案

标签: asp.net .net executable


【解决方案1】:

按照你赢得它的方式是不可能的。从用户发送提交或尝试打开页面的那一刻起,在您运行此 exe 的代码上,然后用户正在等待结果 - 在这个时候你不能让用户不做任何其他事情 - 你可以不锁定浏览器,用户可以关闭它,重新加载它,再次打开同一页面等。

您可以做的是使用Mutex 锁定此进程,如果一切就绪,则不允许再次运行。

msdn 上的互斥锁,例如:http://msdn.microsoft.com/en-us/library/system.threading.mutex.aspx

【讨论】:

    猜你喜欢
    • 2017-01-24
    • 2021-10-02
    • 2011-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多