我有一个asp.net应用程序,我使用System.Windows.Forms命名空间引用来使用Web浏览器控件。应用程序在本地系统上运行正常但在托管后显示错误。 如何嵌入dll以在Web应用程序中使用。
答案 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中时才有效。如果不是:
/Bin
文件夹。<强> 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。
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文件夹 一切都会很好。