企业内部使用Silverlight5浏览器内受信任的应用程序

简介: 转自http://www.cnblogs.com/slmk/archive/2012/02/27/2369642.htmlsilverlight 5的一个有趣的新特性是:可以在浏览器内完全受信任运行。

转自http://www.cnblogs.com/slmk/archive/2012/02/27/2369642.html

silverlight 5的一个有趣的新特性是:可以在浏览器内完全受信任运行。这对于企业内部应用可谓重大的改进,可以访问本地COM,而且是在浏览器内。至少可以访问本地文 件系统这一点就方便很多,很多需要C/S结构才能完成的事借助SL5也能实现。我一直认为SL是开发企业应用的利器,JS+HTML方式的前端难与之相 比。

1、silverlight应用程序项目属性中以下选项搭钩:

如果你在调试时运行会发现,有权限在本地创建文件,这是因为你用"localhost"访问的原因,不要以为大功告成了!

2、修改注册表:

  • Key path for 32-bit computers: HKEY_LOCAL_MACHINE\Software\Microsoft\Silverlight\

  • Key path for 64-bit computers: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Silverlight\

  • Value name: AllowElevatedTrustAppsInBrowser

  • Value type: DWORD

  • Valid Values:

    • Disabled - 0x00000000

    • Enabled - 0x00000001

  如何修改好像有问题:公司100台电脑难道要逐个修改?借助域策略吧。

3、签名你的XAP文件:通过你的域管理员发布的证书为XAP签名,或者创建一个测试证书用于测试

然后点击“更多详细信息”

安装证书

存储到“受信任的发布者”或者“受信任的根证书颁发机构”

证书上没有红叉,说明安装成功。相信企业内部都有内部使用的证书(如果使用https登陆的话,肯定已经有了,直接用它签名就是了),也就不需要每个机器安装了。使用计算机名或者IP地址进行测试:

OK了!

测试代码:

private void WriteFileButton_Click(object sender, RoutedEventArgs e)
{
// check if we can actually do this
if (!Application.Current.HasElevatedPermissions)
{
MessageBox.Show("Application requires elevated trust for this!");
return;
}

// create a directory if necessary
var tempDirectory = @"c:\temp";
if (!Directory.Exists(tempDirectory))
{
Directory.CreateDirectory(tempDirectory);
}

// build the full filename
var filename = string.Format("tempFile-{0}.txt", _rnd.Next(0, 65536));
var fullPath = Path.Combine(tempDirectory, filename);

// write a new file
using (FileStream fs = File.Create(fullPath))
using (StreamWriter sr = new StreamWriter(fs, Encoding.UTF8))
{
sr.WriteLine("Hallo from a trusted app!");
}

// Notify the user
MessageBox.Show("File has been created.");
}



英文原文:http://www.pitorque.de/MisterGoodcat/post/Silverlight-5-Tidbits-Trusted-applications.aspx

 
目录
相关文章
|
Web App开发 C# Windows
一起谈.NET技术,Visual Studio 2010构建Web浏览器应用程序
  2001年,我使用C#中的WebBrowser ActiveX控件编写了我的第一个应用程序,点此阅读,Kapil Sony写了一篇文章介绍了C# 2.0中的WebBrowser控件,每一次.NET新版本发布,控件和功能都会发生一些变化,现在,WebBrowser控件已属于Windows Forms控件的一部分,本文是基于.NET 4.0和Visual Studio 2010完成的,如果你使用的不是Visual Studio 2010,可以去MSDN网站下载免费的Visual C# 2010 Express。
1180 0
|
Android开发 数据格式 XML
|
6月前
|
Web App开发 前端开发 JavaScript
|
1月前
|
存储 机器人
在阿里云RPA中,你可以通过以下步骤来更改默认唤醒IE浏览器的地址
【2月更文挑战第28天】在阿里云RPA中,你可以通过以下步骤来更改默认唤醒IE浏览器的地址
19 1
|
7月前
|
Web App开发 XML 编解码
IE浏览器下载文件中文文件名乱码问题解决
IE浏览器下载文件中文文件名乱码问题解决
84 0

热门文章

最新文章