Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我应该选择:这是一个完全信任的应用程序_C#_.net_Visual Studio_Visual Studio 2010_Security - Fatal编程技术网

C# 我应该选择:这是一个完全信任的应用程序

C# 我应该选择:这是一个完全信任的应用程序,c#,.net,visual-studio,visual-studio-2010,security,C#,.net,Visual Studio,Visual Studio 2010,Security,我正在Visual studio 2010中开发应用程序,我的应用程序一直连接到internet。我是否应该在安全选项卡中激活这是一个完全信任的应用程序 如果是,具体是什么意思?我在看msdn文档,但我不明白。我需要一些关于何时使用此功能的简短信息。别担心,它不会影响internet连接的安全性,但会影响.NET framework处理应用程序的方式。所以-是的,您可以在没有危险的情况下激活它,但是如果可能的话,您应该在代码中声明您的应用程序需要哪种访问级别来改进安全性。详情如下: 完全信任意味

我正在Visual studio 2010中开发应用程序,我的应用程序一直连接到internet。我是否应该在安全选项卡中激活这是一个完全信任的应用程序


如果是,具体是什么意思?我在看msdn文档,但我不明白。我需要一些关于何时使用此功能的简短信息。

别担心,它不会影响internet连接的安全性,但会影响.NET framework处理应用程序的方式。所以-是的,您可以在没有危险的情况下激活它,但是如果可能的话,您应该在代码中声明您的应用程序需要哪种访问级别来改进安全性。详情如下:

完全信任意味着您的应用程序需要.NET framework提供的所有权限。作为一名开发人员,您需要声明应用程序需要哪个信任级别才能运行,这称为“代码访问安全性”。 代码访问安全性意味着您通过属性告诉编译器代码需要哪种操作才能成功

.NET framework反过来估计应用程序应被授予的信任度: 例如,如果您将应用程序部署到远程计算机(可通过intranet*之外的网络共享进行访问),则.NET Framework对它的信任度低于“完全信任”。这被称为“基于证据”的安全模型,通过所谓的托管代码实现

托管代码意味着您的.NET应用程序由编译成MSIL(Microsoft的中间语言),然后由将“即时”(即,除非您选择执行时)编译成特定于CPU的机器语言。这允许建立一个额外的抽象层,从而使.NET框架能够控制代码的行为,并允许它或(如果不允许的话)引发安全异常

用C#或VB.NET语言之一为.NET framework编写的所有代码都是默认托管代码。但是,在某些(非常罕见的)情况下,您希望嵌入非托管代码—也称为“不安全代码”(在.NET术语中)。一种方法是在您的代码中创建一个“不安全”部分(我在这里只是为了完整性才提到这个部分——即,万一您在源代码中遇到它)

如前所述,您可以通过属性指定代码的功能,但也可以通过.NET安全设置更改应用于本地计算机的规则来更改此行为。 通常,最好尽可能精确地指定应用程序需要哪些权限,并尽可能严格限制

如果您感兴趣,可以在此处找到更多信息:


*)谢谢你的提示,达米恩!事实上,早期版本的框架减少了网络资源(网络共享)的信任,因为.NET 4桌面和本地intranet连接具有完全信任。

Re:network share-更改为:“桌面和本地intranet应用程序被授予完全信任。”感谢您提供详细的答案