【问题标题】:Clipboard_AccessNotAllowed error in Silverlight 4Silverlight 4 中的 Clipboard_AccessNotAllowed 错误
【发布时间】:2013-03-11 16:56:25
【问题描述】:

我正在使用 Silverlight 4.0,并且我使用 Clipboard(System.Windows) 类从站点复制错误。

它在我的机器上运行良好,但是当我尝试从其他机器访问它时,我收到以下错误:

"[Clipboard_AccessNotAllowed] 论据: 调试资源字符串不可用。通常,关键和论据提供了足够的信息来诊断问题。见http://go.microsoft.com/fwlink/?linkid=106663&Version=4.0.60310.0&File=System.Windows.dll&Key=Clipboard_AccessNotAllowed"

我的代码如下:

    private void SetMessageToClipboard(string sMessage)
    {
        try
        {
            Clipboard.SetText(sMessage);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

一旦您在 Silverlight 的弹出窗口中选择“记住我的答案”,此错误就会消失。

是否与 ClientPolicy.XML 文件有关?我没有添加它。但是我在 ClientPolicy.XML 中没有找到任何对我有帮助的东西。

请提出建议。

【问题讨论】:

    标签: silverlight-4.0


    【解决方案1】:

    您确定您没有在自己的机器上点击“记住我的答案”吗?在您自己的计算机上解决此问题的一种方法是清除浏览器缓存。我不认为 clientaccesspolicy 与它无关。尝试访问客户端剪贴板的是客户端应用程序。 silveright 应用程序在您的浏览器中部分信任地运行(这就是为什么在 SetText 和 GetText 上弹出此确认消息的原因)。

    允许剪贴板访问的问题也是设计使然。用户应始终给予许可。如果操作是用户操作(例如单击按钮),您只能写入剪贴板访问权限。

    为避免该消息,您可以尝试在具有提升权限的浏览器中运行它,这样用户就不会收到提示,但会在之前提示他以提升的权限运行应用程序;)

    所以我认为无论如何您都会遇到用户确认对话框。这没什么大不了的,一旦他们记住了他们的选择,他们就不会再被提示了。

    【讨论】:

      【解决方案2】:

      这是解决方案,但它仅适用于 IE

      Microsoft.LightSwitch.Threading.Dispatchers.Main.BeginInvoke(() => HtmlPage.Window.Eval("window.clipboardData.setData('Text','testtestest')"));
      

      【讨论】:

        猜你喜欢
        • 2011-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-01
        • 2011-06-25
        • 1970-01-01
        相关资源
        最近更新 更多