Questions tagged «using»

“ using”是某些编程语言(C ++,C#,VB.NET,Haxe)中的关键字

26
WCF客户端“使用”块问题的最佳解决方法是什么?
我喜欢在一个using块中实例化WCF服务客户端,因为这几乎是使用实现资源的标准方法IDisposable: using (var client = new SomeWCFServiceClient()) { //Do something with the client } 但是,正如此MSDN文章中所述,将WCF客户端包装在一个using块中可能会掩盖导致客户端处于故障状态(如超时或通信问题)的任何错误。长话短说,当调用Dispose()时,客户端的Close()方法将触发,但由于处于故障状态而将引发错误。然后,原始异常被第二个异常掩盖。不好。 MSDN文章中建议的解决方法是完全避免使用using块,而是实例化客户端并使用如下所示的客户端: try { ... client.Close(); } catch (CommunicationException e) { ... client.Abort(); } catch (TimeoutException e) { ... client.Abort(); } catch (Exception e) { ... client.Abort(); throw; } 与using块相比,我认为这很丑。每次需要客户时,都会编写很多代码。 幸运的是,我发现了其他一些解决方法,例如在IServiceOriented上的解决方法。您从开始: public delegate void UseServiceDelegate<T>(T proxy); …
404 c#  vb.net  wcf  using  wcf-client 

12
是否必须在请求之间处理HttpClient和HttpClientHandler?
.NET Framework 4.5中的System.Net.Http.HttpClient和System.Net.Http.HttpClientHandler实现IDisposable(通过System.Net.Http.HttpMessageInvoker)。 该using声明文件说: 通常,使用IDisposable对象时,应在using语句中声明并实例化它。 此答案使用以下模式: var baseAddress = new Uri("http://example.com"); var cookieContainer = new CookieContainer(); using (var handler = new HttpClientHandler() { CookieContainer = cookieContainer }) using (var client = new HttpClient(handler) { BaseAddress = baseAddress }) { var content = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("foo", "bar"), new …


17
在C#中嵌套using语句
我正在做一个项目。我必须比较两个文件的内容,看看它们是否完全匹配。 在进行大量错误检查和验证之前,我的第一稿是: DirectoryInfo di = new DirectoryInfo(Environment.CurrentDirectory + "\\TestArea\\"); FileInfo[] files = di.GetFiles(filename + ".*"); FileInfo outputFile = files.Where(f => f.Extension == ".out").Single<FileInfo>(); FileInfo expectedFile = files.Where(f => f.Extension == ".exp").Single <FileInfo>(); using (StreamReader outFile = new StreamReader(outputFile.OpenRead())) { using (StreamReader expFile = new StreamReader(expectedFile.OpenRead())) { while (!(outFile.EndOfStream || expFile.EndOfStream)) …
315 c#  .net  file  using 

4
MySQL ON与USING?
在MySQL中JOIN,ON和之间有什么区别USING()?据我所知,USING()只是语法更方便,而ON当列名不相同时,则允许更多的灵活性。但是,这种差别是如此之小,您可能会认为他们只是取消了USING()。 除了眼球以外,还有什么呢?如果是,在给定情况下应该使用哪个?
252 mysql  join  using 

14
为什么要使用指令删除不必要的C#?
例如,我很少需要: using System.Text; 但默认情况下它始终存在。我假设如果您的代码包含不必要的using指令,则应用程序将使用更多内存。但是我还有什么需要注意的吗? 另外,如果仅在一个文件中对大多数文件/所有文件使用相同的using指令,是否有任何区别? 编辑:请注意,此问题与称为using语句的无关概念无关,该语句旨在通过确保当对象超出范围时调用其IDisposable.Dispose方法来帮助管理资源。请参见C#中“使用”的用法。
216 c#  assemblies  using 

10
我应该Dispose()DataSet和DataTable吗?
DataSet和DataTable都实现IDisposable,因此,按照常规的最佳实践,我应该调用它们的Dispose()方法。 但是,到目前为止,从我读过的内容来看,DataSet和DataTable实际上没有任何非托管资源,因此Dispose()实际上并没有做什么。 另外,我不能仅仅using(DataSet myDataSet...)因为DataSet有DataTables的集合而使用。 因此,为了安全起见,我需要遍历myDataSet.Tables,处置每个DataTable,然后处置DataSet。 因此,值得在我所有的DataSet和DataTable上调用Dispose()的麻烦吗? 附录: 对于那些认为应该处置DataSet的用户:通常,处置模式是使用using或try..finally,因为您要保证将调用Dispose()。 但是,对于集合而言,这很快变得很难看。例如,如果对Dispose()的调用之一抛出异常,该怎么办?您是否吞下了它(这是“不好的”),以便您可以继续处理下一个元素? 或者,您是否建议我只调用myDataSet.Dispose(),而忘记将DataTables放置在myDataSet.Tables中?

5
将在具有空对象的using语句中调用Dispose()吗?
using在(可能)空对象上使用该语句是否安全? 考虑以下示例: class Test { IDisposable GetObject(string name) { // returns null if not found } void DoSomething() { using (IDisposable x = GetObject("invalid name")) { if (x != null) { // etc... } } } } 是否保证Dispose仅在对象不为null且不会得到的情况下才调用该方法NullReferenceException?
178 c#  idisposable  using 

7
在“使用”块中,是否在返回或异常时关闭SqlConnection?
第一个问题: 说我有 using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string storedProc = "GetData"; SqlCommand command = new SqlCommand(storedProc, connection); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add(new SqlParameter("@EmployeeID", employeeID)); return (byte[])command.ExecuteScalar(); } 连接是否关闭?因为从技术上讲,我们永远都无法}像return以前那样走到最后。 第二个问题: 这次我有: try { using (SqlConnection connection = new SqlConnection(connectionString)) { int employeeID = findEmployeeID(); connection.Open(); SqlCommand command = new …
136 c#  using  sqlconnection 

5
从using()语句内部返回是否有副作用?
从using语句内部获取DataContext 返回方法值似乎总是可以的,就像这样: public static Transaction GetMostRecentTransaction(int singleId) { using (var db = new DataClasses1DataContext()) { var transaction = (from t in db.Transactions orderby t.WhenCreated descending where t.Id == singleId select t).SingleOrDefault(); return transaction; } } 但是我总是觉得我应该在退出使用括号之前关闭一些东西,例如,通过在using语句之前定义事务,在括号内获取它的值,然后在括号之后返回。 在使用方括号外定义和返回变量是否是更好的做法或以任何方式节省资源?
125 c#  using 

2
如何使用C#6“使用静态”功能?
我正在看C#6 中的几个新功能,特别是 “使用静态”。 using static是一种新的using子句,可让您将类型的静态成员直接导入作用域。 (博客文章的底部) 根据我发现的一些教程,该想法如下所示, 而不是: using System; class Program { static void Main() { Console.WriteLine("Hello world!"); Console.WriteLine("Another message"); } } Console使用使用静态类的新C#6功能,可以省略重复的语句: using System.Console; // ^ `.Console` added. class Program { static void Main() { WriteLine("Hello world!"); WriteLine("Another message"); } // ^ `Console.` removed. } 但是,这似乎不适用于我。我在using声明中出现错误,说: “ using …


8
我是否必须先关闭SQLConnection的SQLConnection?
根据我在此处有关Disposable对象的其他问题,是否应该在using块结束之前调用Close()? using (SqlConnection connection = new SqlConnection()) using (SqlCommand command = new SqlCommand()) { command.CommandText = "INSERT INTO YourMom (Amount) VALUES (1)"; command.CommandType = System.Data.CommandType.Text; connection.Open(); command.ExecuteNonQuery(); // Is this call necessary? connection.Close(); }

6
未使用的using指令如何影响性能?
每当您创建新页面或项目时,Visual Studio都会自动为您创建using语句。其中一些您将永远不会使用。 Visual Studio具有“删除未使用的用法”的有用功能。 我想知道,如果永不访问的using语句仍然在文件顶部提到,则对程序性能是否有负面影响。
110 c#  .net  visual-studio  using 

5
“使用”多个资源是否会导致资源泄漏?
C#让我执行以下操作(来自MSDN的示例): using (Font font3 = new Font("Arial", 10.0f), font4 = new Font("Arial", 10.0f)) { // Use font3 and font4. } 如果font4 = new Font抛出会怎样?据我了解,font3将泄漏资源,并且不会被丢弃。 这是真的?(不会处理font4) 这是否using(... , ...)应该完全避免使用嵌套使用?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.