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
.net 使用SmtpClient和IDisposable_.net_Idisposable_Smtpclient - Fatal编程技术网

.net 使用SmtpClient和IDisposable

.net 使用SmtpClient和IDisposable,.net,idisposable,smtpclient,.net,Idisposable,Smtpclient,我注意到,大多数使用.NET的SmtpClient类的示例代码都没有处理创建的对象或将其包装在using块中。(例如)SMTP客户的处置是可选的还是不太重要,或者示例是否将我们引向了错误的道路?注意:在上面提供的MSDN示例中,MailMessage被释放,而不是SmtpClient对象 Msdn示例省略了类似的内容,因为重点是在一篇小文章中清楚地演示一个概念,而不是编写一个正确的健壮的生产应用程序。Msdn示例省略了类似的内容,因为重点是在一篇小文章中清楚地演示一个概念,不能编写正确的健壮的生

我注意到,大多数使用.NET的SmtpClient类的示例代码都没有处理创建的对象或将其包装在using块中。(例如)SMTP客户的处置是可选的还是不太重要,或者示例是否将我们引向了错误的道路?注意:在上面提供的MSDN示例中,MailMessage被释放,而不是SmtpClient对象

Msdn示例省略了类似的内容,因为重点是在一篇小文章中清楚地演示一个概念,而不是编写一个正确的健壮的生产应用程序。

Msdn示例省略了类似的内容,因为重点是在一篇小文章中清楚地演示一个概念,不能编写正确的健壮的生产应用程序。

您必须处理它


在示例中,他们使用SendAsync(),这就是为什么他们不使用“using”关键字的原因-SendAsync()会立即返回,您可以尝试处理当前正在使用的对象。但是,最好在完成所有异步方法后处理客户端。

您必须处理它


在示例中,他们使用SendAsync(),这就是为什么他们不使用“using”关键字的原因-SendAsync()会立即返回,您可以尝试处理当前正在使用的对象。但是,最好在完成所有异步方法后处理客户端。

许多联机示例没有显示正确的处理代码的原因是。因此,这些示例可能基于以前的框架,或者由不熟悉新功能的人编写。

许多在线示例没有显示正确的处理代码的原因是。因此,这些示例可能基于以前的框架,或者由不熟悉新功能的人编写。

我真的必须学会更快地键入:p例如,如果您查看“Dispose()”的文档,您将看到,如果请求被提前调用,它将改变请求。(可能)他们错过了异步处理程序末尾的“sender.Dispose()”。但我认为垃圾收集器将能够处理这个问题。当然,GC将处理这个问题,但实现IDisposable的原因是为了在垃圾收集之前的早期阶段处理对象,以释放一些操作系统或外部资源。我确实必须学会更快地键入:例如,如果您查看“Dispose()”的文档,您将看到如果它被提前调用,它将改变请求。(可能)他们错过了异步处理程序末尾的“sender.Dispose()”。但我认为Garbagecollector能够处理这个问题。当然,GC能够处理这个问题,但是实现IDisposable的原因是为了在垃圾收集之前的早期阶段处理对象,以便释放一些操作系统或外部资源。如果你仔细看一下,这不仅仅是MSDN的例子。我还认为这是一个糟糕的概念,因为许多(大多数?)会一字不差地遵循这些示例。如果你随便看看,不仅仅是MSDN示例。我还认为这是一个糟糕的概念,因为许多(大多数?)会一字不差地遵循示例。