Sollte ich wählen : Dies ist eine voll Vertrauenswürdige Anwendung
Ich entwickle die app in Visual studio 2010, meine app ist ständig mit dem internet verbunden. Sollte ich aktivieren This is a full trust application
im Reiter Sicherheit?
Wenn ja, was bedeutet es genau bedeutet? Ich war zu Lesen, msdn docs, aber ich kann es nicht verstehen. Ich brauche etwas, was in der kurzen Linien, wenn diese Funktion zu nutzen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mach dir keine sorgen, es hat keinen Einfluss auf die Sicherheit Ihrer internet-Verbindung, aber es beeinflusst, wie die .NET-framework behandelt Ihre Anwendung. Also - ja, Sie können es aktivieren, ohne Gefahr zu laufen, aber wenn möglich, sollten Sie erklären in Ihrem code, welcher auf Ihre Anwendung zugreifen muss, um Verbesserung der Sicherheit. Erklären die details:
Volle Vertrauen bedeutet, dass Ihre Anwendung alle Rechte, die .NET framework bietet. Als Entwickler, Sie erklären die trust-Ebene, die Ihre Anwendung braucht, um in der Lage zu sein, dies ist bekannt als "code access security".
Code access security bedeutet, dass sagst du den compiler über die Eigenschaften, die Art der Bedienung der code benötigt, um erfolgreich zu sein.
Den .NET framework wiederum Schätzungen, wie viel Vertrauen sollte der Antrag bewilligt werden:
Zum Beispiel, wenn Sie stellen Sie Ihre Anwendung auf einem remote-computer, zugänglich ist, die über ein Netzwerk teilen außerhalb des Intranets*), dann die .NET Framework gibt es weniger als "Volles Vertrauen". Dies ist auch bekannt als "evidence based" - Sicherheitsmodell, die umgesetzt wird durch die so genannten managed code.
Verwalteten code bedeutet, dass Ihre .NET-Anwendung wird kompiliert in MSIL (Microsoft ist ichntermediate Language) durch die "Roslyn"-Compiler und dann "just in time" (D. H. nur, wenn Sie es ausführen, es sei denn, Sie erstellen Sie native code explizit über NGEN vor Ausführung) in CPU-spezifischen Maschinensprache durch die "RyuJIT"-Compiler. Dies ermöglicht die Schaffung eines zusätzlichen Abstraktionsschicht, welche wiederum die .NET Framework, um zu kontrollieren, was Ihr code tut und es ihm so zu ermöglichen oder - wenn nicht - werfen Sie eine Sicherheit Ausnahme.
Alle der code, den Sie schreiben .NET framework in einer der Sprachen C# oder VB.NET ist per default verwalteten code. Es gibt jedoch (sehr selten) Situationen, in denen Sie einbetten möchten, nicht verwaltetem code - auch bekannt als "unsafe code" (in .NET-Terminologie) als gut. Eine Möglichkeit ist das erstellen einer "unsicheren" Bereich in Ihrem code (was ich nur erwähne hier der Vollständigkeit halber aufgeführt - also in den Fall, Sie haben könnten, kommen über mit ihm im source-code).
Wie ich bereits erwähnt habe, legen Sie fest, was der code über Attribute, aber Sie können auch ändern, die Regeln, die auf Ihrem lokalen computer zu ändern, dieses Verhalten durch die .NET-Sicherheitseinstellungen.
In der Regel ist es eine gute Idee, geben Sie möglichst genau an, welche Rechte die Anwendung benötigt, und so restriktiv wie möglich.
Wenn Sie interessiert sind, können Sie finden hier mehr:
Die Erkundung der .NET Framework Security-Modell
*) Danke für deinen Tipp, Damien! In der Tat, frühere Versionen des Frameworks gab-Ressourcen auf dem Netzwerk (Netzwerk-shares) weniger Vertrauen, mit .NET 4 desktop-und der lokalen intranet-verbindungen haben volles Vertrauen.