我正在一个项目上实现一些套接字操作,偶然发现了Socket.BeginAccept()
,我发现它很方便并且使用得非常愉快,甚至没有检查其支持平台的官方文档。但是,在部署之后,我通过此功能学习了Windows XP is not included in the list of platforms supported。然而它完美地运作。
将其与支持SP3 of Windows XP的Thread.Join()
进行比较,如果在Windows XP上执行Thread.Join()
,则只需60秒即可获得良好的系统挂起。 SP3。这表明Thread.Join()
方法遵循其记录的平台规范,而Socket.BeginAccept()
没有(因为后者适用于Windows XP> = SP2,而其官方文档甚至根本不支持Windows XP)。 / p>
现在我对Windows XP支持的内容感到困惑。
答案 0 :(得分:7)
您链接到.NET 4.5版本的文档。不适用于XP 4.0的.NET版本是最后一个仍然可以在XP或Server2003上运行的版本。使用MSDN文章顶部的版本选择器,您会看到4.0 version of the same article 列出XP和2003。
MSDN确实偶尔会出现错误,但这不是其中之一。
答案 1 :(得分:2)
老兄,认真的?
Microsoft于2014年4月8日停止支持Windows XP(这是在将支持期延长至少一次之后)。
他们不会花时间远离其他项目,只是为了测试和记录平台上是否支持API,根据定义, nothing 是否受支持。即使过去确实存在该文档,维护它也需要成本。该平台不受支持; Microsoft没有义务永久保存该文档。
如果您选择运行不受支持的操作系统,那么您不会得到错误修正,您没有获得安全补丁,您也无法获得新软件可以正常运行的保证,而且您不会# 39;获得准确文件的保证。那是什么"不支持"意味着:它可能仍然可以使用,但是如果您选择使用它,那么您可以自己动手。
XP 死了,男人。做你的悲伤并继续前进。
答案 2 :(得分:1)
您正在查看.NET 4.5的文档,never supported Windows XP。 .NET 4.5在.NET 4.5发布时仍然支持,但.NET 4.5需要Windows Vista或更高版本。
如果您使用下拉菜单查看corresponding page for .NET 4,则XP会列为支持。
然而,正如乔在他的回答中正确指出的那样,无法保证任何特定的文档仍然包含有关Windows XP支持的信息。在这种情况下,它仍然可以,但如果由于某些其他原因更新该页面,将来可能会将其删除。