想知道这是否可能。我正在为一个有趣的办公项目做一个小游戏,需要有一个高分数表,这是自包含在实际的Silverligth xap。有没有办法做到这一点?
发布于 2011-01-11 11:51:14
不,它不是-你可以有一个表作为数据存储(即在一个XML文件中),但你不能修改该文件并在XAP文件中更新它(不合理-请参见SLak的答案)。
相反,您可以使用Isolated Storage来存储您的高分的本地副本-请注意,此文件是每个用户每台机器,因此您不能在多个用户之间共享一个文件。您的另一个选择是使用web服务(asmx或WCF),该服务可以托管在提供XAP文件的同一网站上。webservice可以随心所欲地存储高分,所有用户都可以访问所有的分数。
如果你使用的是SL4和Windows phone7,那么你也可以在高分更新时向手机发送推送通知。(您也可以使用常规的桌面SL应用程序使用WCF双工消息来实现这一点,但我对此了解不多,不便置评)。
发布于 2011-01-11 11:49:35
这是可能的,但这可能不是一个好主意。
您需要一个服务器端脚本来获取分数并更新XAP。
由于XAP (可能)是一个大文件,更新它将需要时间,这会使您面临竞争条件或访问问题。
您可能会锁定文件,如果多人同时提交高分,则会导致长时间延迟。
从the XAP is a ZIP file开始,您可以使用ZIP库对其进行更新,并使用Mono.Cecil库修改ZIP内程序集中的硬编码数组。(或更新嵌入的文本文件)
https://stackoverflow.com/questions/4653989
复制相似问题