将System.windows.Forms引用添加到asp.net网站

时间:2012-06-01 12:42:23

标签: asp.net .net winforms

我有一个asp.net应用程序,我使用System.Windows.Forms命名空间引用来使用Web浏览器控件。应用程序在本地系统上运行正常但在托管后显示错误。 如何嵌入dll以在Web应用程序中使用。

4 个答案:

答案 0 :(得分:1)

回答一个3岁半的问题很奇怪......

<强>予。在您的web.config中,添加对Windows.Forms的引用

<system.web>
  <compilation>
    <assemblies>
      <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
    </assemblies>
  </compilation>
<system.web>

仅当引用的DLL位于GAC中时才有效。如果不是:

  1. 在您的网站根目录中创建一个/Bin文件夹。
  2. 将DLL复制到那里。
  3. 在web.config中添加引用。
  4. <强> II。在您的模块/类中,导入Windows.Forms(VB:Imports / C#:using)

    Imports System.Windows.Forms
    

    您现在可以使用网络浏览器控件。不过,这有点棘手。

    可能的用途包括:生成屏幕截图,AJAX抓取(#!&gt;&gt; _escaped_fragment_)等

答案 1 :(得分:0)

System.Windows.Forms包含用于在运行代码的计算机上显示内容的类。当您在PC上进行测试时,它的工作原理是因为您在与开发服务器相同的计算机上运行浏览器。

在真实服务器上运行时,System.Windows.Forms中的任何内容都将显示在服务器上 - 而不是用户的PC上。 (除了它将显示在服务器服务会话中的隐藏桌面上)。

您不应混合网页表单和Windows窗体。无论你想做什么 - 还有另一种方法,它不涉及winforms。

不要在webb应用程序中使用System.Windows.Forms

答案 2 :(得分:0)

如前所述,您不能在ASP.NET中使用WinForms控件。

使用iframe显示您尝试在webbrowser控件中显示的任何页面:http://www.w3schools.com/tags/tag_iframe.asp

答案 3 :(得分:0)

是的,您可以做到,只需复制

  

system.window.form

dll进入您的Web Bin文件夹 一切都会很好。