C# 从SqlConnection对象检索套接字句柄

C# 从SqlConnection对象检索套接字句柄,c#,sql-server,windows,ado.net,C#,Sql Server,Windows,Ado.net,我会得到连接到远程sqlserver的套接字句柄,我只有SqlConnection对象,我怎么能做到呢 在Windows2008中,我可以使用内部函数GetBestEffortCleanupTarget进行漫游,但它在Windows2012上不起作用。您怎么会认为有套接字句柄?如果连接不使用TCP/IP怎么办?假设我使用TCP连接到远程SQLServer,我无法想象有一个套接字句柄可以访问。这是连接的私有实现细节。你想完成什么?即使您可以访问它,我也怀疑您是否可以将其用于任何用途。实际上,我想记

我会得到连接到远程sqlserver的套接字句柄,我只有
SqlConnection
对象,我怎么能做到呢


Windows2008
中,我可以使用内部函数
GetBestEffortCleanupTarget
进行漫游,但它在
Windows2012
上不起作用。您怎么会认为有套接字句柄?如果连接不使用TCP/IP怎么办?假设我使用TCP连接到远程SQLServer,我无法想象有一个套接字句柄可以访问。这是连接的私有实现细节。你想完成什么?即使您可以访问它,我也怀疑您是否可以将其用于任何用途。实际上,我想记录此连接信息,例如我连接的源端口。我必须从SqlConnection获取它们,对吗?你可能应该停止重新发明轮子。SQL Server可能已经知道如何记录这些信息。您查看了SQL Server日志了吗?我还建议,这些信息与您无关。这是一个内部实现细节。如果有一天SQL Server决定使用多个连接怎么办?如果它决定在连接之间旋转,这样一个连接使用端口A,下一个使用端口B,该怎么办?