对 WindowsIdentity 对象调用 Dispose()? C#

发布于 2024-09-03 19:24:56 字数 253 浏览 10 评论 0原文

我通过调用检索 WindowsIdentity 对象:

win_id = System.Security.Principal.WindowsIdentity.GetCurrent();

目的是获取当前登录的用户名,效果很好。

WindowsIdentity 实现了 IDisposable,但是由于我自己没有创建该对象,因此当我完成它时是否仍然需要对其调用 .Dispose() ?

谢谢。

I am retrieving a WindowsIdentity object by calling:

win_id = System.Security.Principal.WindowsIdentity.GetCurrent();

with the intention of getting the currently logged on user name, which works fine.

WindowsIdentity implements IDisposable, but since I din't create the object myself, do I still need to call .Dispose() on it when I am finished with it or not?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

幸福丶如此 2024-09-10 19:24:56

WindowsIdentity.GetCurrent() 返回一个实例,因此您应该正确处置它。

引用自 MSDN

返回一个 WindowsIdentity 对象
代表当前的 Windows 用户。

这里是关于此主题的另一篇好文章:

WindowsIdentity.GetCurrent() 返回一个您应该处置的实例,
否则你会暂时泄漏用户句柄。

WindowsIdentity.GetCurrent() returns an instance, so you should properly dispose it.

Quote from MSDN:

Returns a WindowsIdentity object that
represents the current Windows user.

And here is another nice article regarding this topic:

WindowsIdentity.GetCurrent() returns an instance which you should dispose,
otherwise you temporarily leak a user handle.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文