今天我们来探讨一下在ClickOnce部署中如何严格控制应用程序的权限。
演示应用
为了在下文中能更好地演示,我们先要做一个测试项目。也为了显得简单易懂,我使用最常用且最常见的WinForm项目,这是地球上最丰富的物种。
咱们做一个MD5的计算程序,这个应该够简单了吧?程序的功能是浏览打开一个文件,然后计算它的MD5,最后以字符串的形式输出。
界面大致这样:
其中用来输入文件名的文本框叫txtInput,用来显示计算结果的文本框叫txtOutput,为了方便输入文件名,我们在输入文本框的右侧放一个按钮,点击后通过OpenFileDialog来浏览文件。
然后处理的代码如下:
using System;
……
using System.Windows.Forms;
using System.Security.Cryptography;
using System.IO;
namespace md5ComputeApp
{
public partial class Form1 : Form
{
……
private void button1_Click(object sender, EventArgs e)
{
if (File.Exists(this.txtInput.Text) == false)
{
MessageBox.Show("靠,文件不存在,计算条毛啊。"); return;
}
MD5 md5 = new MD5CryptoServiceProvider();
// 打开文件流
FileStream fs = File.OpenRead(txtInput.Text);
// 开始计算
byte[] dataBuffer = md5.ComputeHash(fs);
// 关闭流