【问题标题】:Windows Forms message box doesn't work in published ASP.Net applicationWindows 窗体消息框在已发布的 ASP.Net 应用程序中不起作用
【发布时间】:2010-11-10 10:28:26
【问题描述】:

我们正在使用 asp.net 和 C# 以及 .Net Framework 3.5 开发 .Net 应用程序。

我们在 .Net 应用程序中使用 Windows 窗体消息框。 这个 windows 窗体在调试模式下工作得很好,但是一旦我们发布了应用程序,这个消息框就不起作用了。 我们引用 System.Windows.Form.dll 是为了使用消息框功能。 如果我们需要注册这个 DLL 或者按照一些配置步骤来解决这个问题,请建议。

提前致谢, 杰德

【问题讨论】:

  • 您是在开发 WinForms 还是 WPF 应用程序?哪个框架?
  • 不,我正在使用 asp.net 和 C# 以及 .Net Framework 3.5 开发 .Net 应用程序

标签: asp.net .net winforms dll messagebox


【解决方案1】:

不要在 Web 应用程序中使用 MessageBox。它将显示在服务器控制台上,周围没有人单击“确定”按钮。我认为 ASP.NET 有一些应对措施,因为它是一种严重的拒绝服务攻击。

【讨论】:

    【解决方案2】:

    如果您使用未引用的类,通常甚至不会编译项目/解决方案。 所以可能问题出在另一个地方。你确定应该显示 MessageBox 的代码被执行了吗?

    编辑:当您开发 Web 应用程序 (ASP.NET) 时,如您在 cmets 中所述,您不能使用 Winforms MessageBox。

    如果你真的需要,试着用 javascript 显示它

    Response.Write("<script>alert('This a message')</script>");
    

    【讨论】:

    • 我已将一个项目添加到我的应用程序中。此项目创建消息框。然后我已将此项目引用到我的 Web 应用程序中。消息框显示在调试模式而不是发布模式。我不知道为什么。可能 System.Windows.Form.dll 必须注册。
    • @Jad M:我认为消息框以调试模式显示但不在发布模式下显示的原因可以在 Hans Passant 的回答中找到。发布模式很可能会阻止您在服务器控制台上显示一个消息框,在该消息框周围没有人可以阅读它,或者更糟糕的是,周围没有人可以单击“确定”按钮。您不必自己注册 .NET 程序集库(如 System.Windows.Forms)。
    猜你喜欢
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多