C# 在.xap中获得高分

C# 在.xap中获得高分,c#,silverlight,C#,Silverlight,想知道这是否可能。我正在为一个有趣的办公项目制作一个小游戏,需要一个包含在实际Silverligth xap中的高分表。有什么办法吗?这是可能的,但可能不是个好主意 您将需要一个服务器端脚本,该脚本记录分数并更新XAP。 由于XAP(大概)是一个大文件,更新它需要时间,这会使您面临竞争条件或访问问题。 如果多人同时提交高分,您可能会锁定文件,导致长时间延迟 因为,您可以使用ZIP库对其进行更新,并使用Mono.Cecil库修改ZIP中程序集中的硬编码数组。(或更新嵌入的文本文件)不,不是-可以将

想知道这是否可能。我正在为一个有趣的办公项目制作一个小游戏,需要一个包含在实际Silverligth xap中的高分表。有什么办法吗?

这是可能的,但可能不是个好主意

您将需要一个服务器端脚本,该脚本记录分数并更新XAP。
由于XAP(大概)是一个大文件,更新它需要时间,这会使您面临竞争条件或访问问题。
如果多人同时提交高分,您可能会锁定文件,导致长时间延迟


因为,您可以使用ZIP库对其进行更新,并使用Mono.Cecil库修改ZIP中程序集中的硬编码数组。(或更新嵌入的文本文件)

不,不是-可以将表存储为数据(即XML文件),但不能修改文件并在XAP文件中更新(不合理-请参阅SLak的答案)

您可以改为使用存储高分的本地副本-请注意,此文件是每台计算机上每个用户的,因此您不能在多个用户之间共享一个文件。您的另一个选择是使用web服务(asmx或WCF),它可以托管在提供XAP文件的同一网站上。Web服务可以随意存储高分,所有用户都可以访问所有分数


如果您使用的是SL4和Windows Phone 7,那么您还可以在高分更新时向手机发送推送通知。(您也可以使用WCF双工消息,通过常规桌面SL应用程序实现这一点,但我对这方面的了解还不够,无法对此发表评论)。

我对您所说的“使用ZIP库更新”不感兴趣。。你能详细说明一下吗..你可以使用SharpZipLib之类的工具来修改ZIP或XAP文件的内容。如果你能更详细地描述你的要求,我们可能会提供你没有想到的更合理的替代方案。正如迄今为止的答案所表明的那样,修改XAP并不是一个切实可行的选择。