我做了一个windows form控件,想把它嵌入网页,在客户端运行。但是由于控件调用了本地API,缺乏足够的权限来运行程序。系统提示:System.Security.Permissions.SecurityPermission.堆栈跟踪如下:************** 异常文本 **************
System.Security.SecurityException: System.Security.Permissions.SecurityPermission
   at WebCamControl.WebCamera.StartWebCam()
   at WebCamControl.WebCamControl.b_play_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** 已加载的程序集 **************
mscorlib
    程序集版本: 1.0.5000.0
    Win32 版本: 1.1.4322.573
    基本代码: file:///c:/winnt/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
System.Drawing
    程序集版本: 1.0.5000.0
    Win32 版本: 1.1.4322.573
    基本代码: file:///c:/winnt/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
System
    程序集版本: 1.0.5000.0
    Win32 版本: 1.1.4322.573
    基本代码: file:///c:/winnt/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
RegexAssembly6_0
    程序集版本: 0.0.0.0
    Win32 版本: 无法使用
    基本代码: 
----------------------------------------
WebCamControl
    程序集版本: 1.0.1768.40421
    Win32 版本: 无法使用
    基本代码: http://localhost/WebCamControl.DLL
----------------------------------------
System.Windows.Forms
    程序集版本: 1.0.5000.0
    Win32 版本: 1.1.4322.573
    基本代码: file:///c:/winnt/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
Microsoft.mshtml
    程序集版本: 7.0.3300.0
    Win32 版本: 7.0.3300.0
    基本代码: file:///c:/winnt/assembly/gac/microsoft.mshtml/7.0.3300.0__b03f5f7f11d50a3a/microsoft.mshtml.dll
----------------------------------------
Accessibility
    程序集版本: 1.0.5000.0
    Win32 版本: 1.1.4322.573
    基本代码: file:///c:/winnt/assembly/gac/accessibility/1.0.5000.0__b03f5f7f11d50a3a/accessibility.dll
----------------------------------------
System.Windows.Forms.resources
    程序集版本: 1.0.5000.0
    Win32 版本: 1.1.4322.573
    基本代码: file:///c:/winnt/assembly/gac/system.windows.forms.resources/1.0.5000.0_zh-chs_b77a5c561934e089/system.windows.forms.resources.dll
----------------------------------------
mscorlib.resources
    程序集版本: 1.0.5000.0
    Win32 版本: 1.1.4322.573
    基本代码: file:///c:/winnt/assembly/gac/mscorlib.resources/1.0.5000.0_zh-chs_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------

解决方案 »

  1.   

    form控件在客户端运行?! 
    牛!!! 关注~~~
    楼上说的对,做个ACTIVE控件的木马~
      

  2.   

    如果客户端不把你的程序集的CODEBASE加入受信任列表,那你怎么搞都不行的。建议还是用ActiveX来做,要求用户安装并允许它运行(其实差不多)
      

  3.   

    TO  Miracle(新一代的开山怪):
    客户端怎么样才能把我的程序集的CODEBASE加入受信任列表?
    ActiveX控件可以用C#写吗?
    我没用过,不清楚.
      

  4.   

    那里有用C#写ActiveX控件的资料?
      

  5.   

    在管理工具 .net 安全向导中 internet 的权限 修改为 “完全信任" 就可以了!
      

  6.   

    其实这是要调用客户端的摄像头,所以一定要调用本地API.直到现在还是被权限的问题困扰.现在看来,只有一个办法,那就是写一个ActiveX控件.但是C#是不能写ActiveX控件的,只有用C++写。而C++不熟悉。本来以为问题快解决了,没想到出了这么一个问题!极其郁闷!
      

  7.   

    在管理工具 .net 安全向导中 internet 的权限 修改为 “完全信任" 就可以了!
    ===
    说起来容易做起来难,谁敢把Internet设置为完全信任?怎么死的都不知道
      

  8.   

    你可以看看聊聊的网站www.liaoliao.com
    他就是给客户端下载一个.exe,这个过程需要用户交互的,否则没有办法!
      

  9.   

    我也认为只有让用户下载一个.exe, 如果用户同意安装就可以实现,不同意就没办法了