Tag: idisposable
IDisposable ist eine Schnittstelle innerhalb der Microsoft .NET Framework Base Class Library (BCL). Es soll eine Allgemeine, deterministische Methode der Freigabe von nicht verwalteten Ressourcen innerhalb .NET-Anwendung code.
7
Antworten
Wie kann ich schreiben Sie einen unit test für eine Methode, die eine using-Anweisung? Lass Sie uns zum Beispiel annehmen, dass ich eine Methode Foo. public bool Foo() { using (IMyDisposableClass client = new MyDisposableClass()) { return
4
Antworten
In einer Antwort auf eine Vorherige Frage jemand empfohlen: haben Sie die SqlConnection-eine member-variable der Klasse, sondern die Klasse IDisposable und entsorgen Sie die SqlConnection-wenn die Klasse entsorgt Ich haben zusammen eine Umsetzung dieser Anregung (unten), aber
7
Antworten
Bin ich wieder die variable erstelle ich in einer using-Anweisung in der using-Anweisung (klingt komisch): public DataTable foo () { using (DataTable properties = new DataTable()) { //do something return properties; } } Wird diese über den
6
Antworten
Manchmal brauche ich mehrere Einweg-Objekte, die innerhalb einer Funktion. Häufigste Fall ist, dass StreamReader und StreamWriter, aber manchmal ist es sogar mehr als das. Verschachtelte Anweisungen schnell und hässlich Aussehen. Um dies zu beheben habe ich eine
1
Antworten
Habe ich ein bisschen code in ein Produkt, das ich bin, zu unterstützen, dass die Dateien kopiert werden: using(System.IO.FileStream sourceFS = new System.IO.FileStream(sourcePath, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read)) { using(System.IO.FileStream targetFS = new System.IO.FileStream(targetPath, System.IO.FileMode.Create, System.IO.FileAccess.Write, System.IO.FileShare.Read)) { while((read
2
Antworten
Habe ich eine Implementierung von einem interface, und das interface erweitert IDisposable. In meinem konkreten Implementierung der Schnittstelle, brauche ich nicht entsorgen alles, so dass ich nur eine leere Dispose() Methode. public interface IMyStuff : IDisposable {
4
Antworten
Wenn eine Klasse hat eine Instanz-Feld, das IDisposable implementiert dann die enthaltende Klasse IDisposable implementiert und Klasse, dass Felder, die Dispose-Methode in Ihrer Dispose-Methode. public class A : IDisposable { public System.Drawing.Font font = new Font("Arial", 10.0f);
2
Antworten
Albahari schreibt in "c# 4.0 in a nutshell": > Obwohl DataContext - /ObjectContext IDisposable implementieren, können Sie (im Allgemeinen) Weg, ohne Entsorgung Instanzen. Entsorgung zwingt den Kontext der Verbindung entsorgen—aber dies ist in der Regel unnötig, da
12
Antworten
Ich kann nicht glauben, ich bin immer noch verwirrt über diese aber, die Art und Weise, können schließlich Nagel es: Ich habe eine Klasse, überschreibt OnPaint zu tun, einige Zeichnung. Um die Dinge zu beschleunigen, erstelle ich
5
Antworten
Mit diesem code: using (BinaryWriter writer = new BinaryWriter(File.Open(ProjectPath, FileMode.Create))) { //save something here } Brauchen wir, um in der Nähe der BinaryWriter? Wenn nicht, warum? Trotz der Tatsache, dass es eine andere Art, dies ist ein
7
Antworten
Habe ich dieses Objekt PreloadClient implementiert IDisposable möchte ich es entsorgen, aber nachdem der asynchrone Methoden fertig sind rufen..., das ist nicht passiert, private void Preload(SlideHandler slide) { using(PreloadClient client = new PreloadClient()) { client.PreloadCompleted += client_PreloadCompleted;
6
Antworten
Stellen Sie sich eine Umsetzung der IDisposable - Schnittstelle, die hat einige öffentliche Methoden. Wenn eine Instanz dieses Typs wird von mehreren threads gemeinsam genutzt und einer der threads kann es entsorgen, was ist der beste Weg,
4
Antworten
Ich denke ich verstehe die Verwendung von IntPtr, aber ich bin mir wirklich nicht sicher. Kopierte ich die IDisposable-pattern aus der MSDN, nur um zu sehen, was ich kriegen konnte, und während ich verstehen, dass es für
2
Antworten
Pflege ich eine web-Anwendung, die ein Speicherleck hat. Basierend auf meiner Untersuchung mit Hilfe von Red Gate ANTS memory profiler-ich bin mir ziemlich sicher, dass der Speicherverlust verursacht durch event-Handler in der business-Schicht. Gibt es eine Sammlung,
2
Antworten
Begann ein neues mvc4-Projekt. Verwendet das MVC-controller-Vorlage zum erstellen der lese - /schreib-Aktionen der 'Orders' Modell. Hinzugefügt eine neue Entity framework-Verbindung zu meiner db und bin versucht, zu aktualisieren, es mit einer neuen Bestellung. [HttpPost] public ActionResult
6
Antworten
Ich bin der Iteration über eine ManageObjectCollection.( das ist Teil der WMI-Schnittstelle). Aber das wichtigste ist, die folgende Zeile von code. : foreach (ManagementObject result in results) { //code here } Der Punkt ist, dass ManageObject auch
5
Antworten
Gegeben, ein stream-Objekt enthält eine xlsx-Datei, die ich speichern möchten, um es in einer temporären Datei und löschen Sie es, wenn Sie nicht mit der Datei nicht mehr. Ich dachte an die Schaffung einer class dass die
5
Antworten
Habe ich von Java-Erfahrung und versuche zu starten mit C#. Ich habe gelesen, SqlConnection SqlCommand SqlDataReader IDisposable und ich kann verstehen, dass die beste Praxis, eine Verbindung zu einem DB-umbricht SqlConnection, SqlCommand und SqlDataReader im eigenen using
3
Antworten
Ich bin mit dem System.Net.Http.HttpClient, um einige der client-Seite die HTTP-Kommunikation. Ich habe alle HTTP-an einem Ort, abstrahiert von dem rest des Codes. In einem Fall will ich die Antwort Lesen-Inhalte als stream an, aber der Verbraucher,
5
Antworten
Bin ich immer die folgende Fehlermeldung: Error 25 The type or namespace name 'IEnumerable' could not be found (are you missing a using directive or an assembly reference?) C:\Development\Leverage\Leverage\Reports\SurveyLevel.aspx.cs 39 17 Leverage wegen dieser Zeile: private IEnumerable<string>
3
Antworten
Habe ich eine Methode, die FileStream-als input. Diese Methode wird innerhalb einer for-Schleife. private void UploadFile(FileStream fileStream) { var stream = GetFileStream(); //do things with stream } Habe ich eine andere Methode, die erstellt und gibt den
8
Antworten
Ich habe eine sqlConnection-manager-Klasse in etwa so: public class SQLConn { public string connStr = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]; private SqlConnection sqlConn; public SqlConnection Connection() { sqlConn = new SqlConnection(connStr); return sqlConn; } public void Open() { sqlConn .Open(); }
6
Antworten
Wenn ich eine Methode wie diese: public void Show() { Form1 f = new Form1(); f.ShowDialog(); } Brauche ich noch zum Aufruf von dispose auf dem Formular, auch wenn es außerhalb des Bereichs, die für die garbage
2
Antworten
Gegeben, zwei-Schnittstellen wie diese: public interface MyInterface1 : IDisposable { void DoSomething(); } public interface MyInterface2 : IDisposable { void DoSomethingElse(); } ... und eine Klasse Umsetzung, wie diese: public class MyClass : IMyInterface1, IMyInterface2 { public
6
Antworten
Ist es legal aufrufen einer Methode entsorgt Objekt? Wenn ja, warum? In der folgenden demo-Programm habe ich eine Einweg-Klasse A (die implementiert IDisposable - Schnittstelle).Soweit ich weiß, wenn ich den pass weggeschmissen, um using() konstruieren, dann Dispose()
11
Antworten
DataSet-und DataTable-beide implementieren IDisposable, damit, durch herkömmliche best practices, ich sollte rufen Sie Ihre Dispose () - Methoden. Jedoch, von dem, was ich bisher gelesen habe, DataSet-und DataTable-haben tatsächlich nicht alle nicht verwalteten Ressourcen, so dass Dispose()
2
Antworten
Ist, habe ich mich SO über eine Frage wie diese, und sogar die, die ich gefunden habe schon ein paar, alle diese warf kein Licht in diese Angelegenheit für mich. Nehmen wir an ich habe diesen code:
8
Antworten
Bearbeiten - Neue Frage Ok können formulieren Sie die Frage mehr allgemein. Mit der spiegelung, gibt es eine Möglichkeit, dynamisch aufrufen zur Laufzeit wird eine Basis-Methode der Klasse, die Sie können überschreiben werden. Sie können nicht mit
4
Antworten
Betrachten Sie das folgende Beispiel: public static DataTable GetDataTable() { using(DataTable dt = new DataTable()) { //fill DataTable logic return dt; } } public void main() { DataTable dt = GetDataTable(); //contine using dt } Sollte ich
5
Antworten
Update: ich habe wohl verwirrt Speicherverbrauch Probleme mit der UI-sharing selben thread wie die Verarbeitung (wie bereits von MusiGenesis unten). Jedoch in Bezug auf die Speichernutzung. Ich bin noch nicht in der Lage zu finden VB.net spezifische
9
Antworten
Habe ich eine Klasse, mit der Ereignisse aus einer WinForms-Steuerelement. Basierend auf was der Benutzer tut, ich bin Dereferenzierung eine Instanz der Klasse und erstellen eine neue mit den gleichen event. Muss ich kündigen, wird der alte
4
Antworten
In Visual Studio, wenn ich die Zeile "Implements IDisposable", fügt die IDE automatisch: eine disposedValue member-variable eine Sub Dispose() Implements IDisposable.Dispose eine Sub Dispose(ByVal disposing As Boolean) Den Dispose() allein gelassen werden sollte, und der clean-up-code, sollte
8
Antworten
Habe ich eine Klasse, die macht die Verwendung von temporären Dateien ( Path.GetTempFileName() ), während es aktiv ist. Ich möchte sicherstellen, dass diese Dateien nicht auf der Festplatte des Benutzers Platz wegnimmt, nachdem mein Programm geschlossen ist.
1
Antworten
Ich habe eine entity-Klasse, die automatisch generiert aus meinem Datenbank Modell. Diese Klasse erbt die ObjectContext, die inturn IDisposable erbt. Habe ich eine repository, die verschiedenen Methoden, die verwenden eine einzige Instanz der entity-Objekt für die Interaktion
5
Antworten
Ich habe eine Klassen-Hierarchie, jedes Mitglied kann erstellen IDisposable Objekte. Habe ich ein List<IDisposable> - Eigenschaft der Basisklasse dieser Hierarchie, zu denen ich hinzufügen keine Einweg-Objekte bei der Erstellung. Die Wurzel Dispose Methode iteriert durch die Liste
2
Antworten
Bin ich über die folgenden Möglichkeiten, um in der Nähe der WCF 4 Kanäle. Ist dies der richtige Weg, es zu tun? using (IService channel = CustomChannelFactory<IService>.CreateConfigurationChannel()) { channel.Open(); //do stuff }//channels disposes off?? InformationsquelleAutor chugh97 |
8
Antworten
Frage ich mich, warum es nicht kompilieren? public static void Main(string args) { using (MyStruct sss = new MyStruct()) { sss.s = "fsdfd";//Cannot modify members of 'sss' because it is a 'using variable' //sss.Set(12); //but it's ok
6
Antworten
Habe ich eine Methode, die eine try/catch/finaly block im inneren. Innerhalb des try-Blocks, erkläre ich SqlDataReader wie folgt: SqlDataReader aReader = null; aReader = aCommand.ExecuteReader(); In der finally block, die Objekte, die manuell entsorgt werden, sind diejenigen,
4
Antworten
Ich habe gerade herausgefunden, wie C#, VB.NET auch hat die using Stichwort. Bis jetzt dachte ich es gar nicht habe (dumm von mir, ich weiß...) und habe Sachen wie dies: With New OleDbConnection(MyConnectionString) ' Do stuff End
4
Antworten
WPF WindowsFormsHost-Steuerelement erbt von IDisposable. Wenn ich eine komplexe WPF visual tree enthält einige der oben steuert, was Ereignis oder Methode kann ich verwenden, um anzurufen IDispose beim Herunterfahren? Wenn Sie sagen, 'beim Herunterfahren' meinst du, dass
4
Antworten
Ich habe gesehen, so viel C# - code in meiner Zeit als Entwickler, die versuchen, zu helfen, die GC zusammen durch setzen von Variablen auf null oder den Aufruf von Dispose() auf Klassen (DataSet zum Beispiel) in
2
Antworten
Werde ich durch ein großes refactoring /speed tweaking von einer meiner größeren MVC apps. Es wurde eingesetzt, um die Produktion für ein paar Monate jetzt, und ich begann zu bekommen timeouts warten auf verbindungen im connection pool.
3
Antworten
Ich bin versucht, herauszufinden, ob es nötig ist, Sie zu schließen .net-service-Referenz-client, wenn Sie fertig sind es zu benutzen. Fast alle Beispiele, die ich zufällig auf dem Netz scheint das nicht zu, aber der client, der generiert
7
Antworten
Kürzlich, ich wurde untersucht, einige knifflige bugs über das Objekt nicht entsorgt. Fand ich einige Muster im code. Es wird berichtet, dass einige m_foo nicht entsorgt, während es scheint, alle Instanzen von SomeClass entsorgt wurde. public class
1
Antworten
Ich weiß, C# Ressource verwalten kann ziemlich gut mit seinem garbage collector. Aber da hat es, dass, was ist das genau und warum ist Sie nötig? Kann mir jemand erklären, warum .Dispose() ist erforderlich asp.net mvc? Auch,
2
Antworten
Ich geschrieben habe, meine eigenen Daten-layer zu persistieren, um eine bestimmte Datei, und ich habe abstrahiert, es mit einem benutzerdefinierten DataContext-Muster. Diese beruhen alle auf dem .NET 2.0-Framework (gegebenen Randbedingungen für den Ziel-server), so auch wenn einige
5
Antworten
Ich habe eine Eltern und Kind-Klasse, die beide implementiert werden müssen IDisposable. Wo sollte virtual (und base.Dispose()?) Anrufe ins Spiel kommen? Wenn ich nur das überschreiben der Dispose(bool disposing) nennen, es fühlt sich wirklich seltsam, die besagt,
3
Antworten
Update: @PaulGroke Punkte unten, die Dinge haben sich geändert bei Java 7: es ist jetzt AutoCloseable. Das ist nicht gebunden an Bächen und unterstützt durch das neue try-mit-Ressourcen konstruieren. AutoCloseable ist die direkte Java-äquivalent .NET IDisposable -
13
Antworten
C# 2008 Habe ich die Arbeit auf diesem für eine Weile jetzt, und ich bin immer noch verwirrt über einige Probleme. Meine Fragen sind unten Ich weiß, dass Sie nur finalizer, wenn Sie die Entsorgung von nicht
4
Antworten
Habe ich einige Fragen über die gewünschte Lebensdauer eines Entity Framework-Kontext in einem ASP.NET MVC-Anwendung. Ist es nicht am besten, um den Kontext am Leben für die kürzeste Zeit möglich? Betrachten Sie die folgenden controller-action: public ActionResult