Windows phone 7 Azure、同步框架和访问控制服务:在一起使用这些技术时是否存在明显的缺点或问题?

Windows phone 7 Azure、同步框架和访问控制服务:在一起使用这些技术时是否存在明显的缺点或问题?,windows-phone-7,synchronization,azure,cloud,microsoft-sync-framework,Windows Phone 7,Synchronization,Azure,Cloud,Microsoft Sync Framework,我有一个桌面应用程序,它使用平面文件(一些xml和小图片)作为数据。我希望这些数据可以在其他安装了桌面应用程序的PC上使用,也可以通过智能手机客户端(目前是WP7)使用 用户应该可以很容易地同步这些数据。他应该能够使用他已经拥有的账户(实时登录、谷歌邮箱、Facebook等等) 我考虑使用Azure Blob存储将数据保存在Azure中,以执行实际的同步,并处理身份验证 我以前没有使用过这些技术,所以任何建议都是很好的,但我正在寻找这个策略中的错误或缺点,我还没有看到。这种方法可行吗?Windo

我有一个桌面应用程序,它使用平面文件(一些xml和小图片)作为数据。我希望这些数据可以在其他安装了桌面应用程序的PC上使用,也可以通过智能手机客户端(目前是WP7)使用

用户应该可以很容易地同步这些数据。他应该能够使用他已经拥有的账户(实时登录、谷歌邮箱、Facebook等等)

我考虑使用Azure Blob存储将数据保存在Azure中,以执行实际的同步,并处理身份验证


我以前没有使用过这些技术,所以任何建议都是很好的,但我正在寻找这个策略中的错误或缺点,我还没有看到。这种方法可行吗?

Windows Azure基本上是一个虚拟化数据中心。它是精心设计和复杂的,针对的是那些不想拥有自己的服务器基础设施或硬件的公司

如果我理解正确,您需要的是一个云文件服务器,而不是整个局域网。Windows SkyDrive很好地满足了这一要求,并为每个会员提供25GB的存储空间,会员不收取任何费用

关于Hotmail和Windows Live人们经常混淆Hotmail和Windows Live Windows Live,因为当您设置Hotmail帐户时,它会使用 Windows Live进行身份验证,因此您最终将获得 Windows Live帐户和所有相关设施,包括 SkyDrive。但是,完全可以设置Windows Live 使用任何电子邮件地址作为用户名的帐户

如果执行此操作,请务必注意Windows Live 与给定电子邮件地址关联的密码完全无效 独立于托管的邮件服务器所需的密码 为帐户邮寄。这可能会导致大量用户混淆。 适用于Hotmail(或任何其他使用Windows Live的邮件服务器) 身份验证)它们保证是相同的密码

SkyDrive没有官方的Microsoft framework支持。有一个名为SkyDriveApiClient的开源项目,但它只适用于完整的.NET框架。我试着移植它,但作者有点像一个建筑宇航员,而且它完全充斥着WP7x上没有的[Serializable]

WP7的人说,WP7框架可能会包括对SkyDrive的支持,但在Mango(WP7.1)中不支持。考虑到微软的典型发布周期是18个月,而Mango还没有上市,我想说,两年后你才能指望WP7的内置云文件服务

自己动手并不难,WCF服务在WP7中非常易于使用。但这并不是真正的云,因为您必须自己提供和维护服务器基础设施。基于这个原因,并考虑到微软的时间表,我已经投入了大量精力为WP7制作我自己的SkyDrive客户端。核心功能已经完成,我现在正在进行重构,提高健壮性,并添加性能增强功能,如令牌(基本上是cookie)的本地缓存。我不打算发布它;我计划了许多应用程序都依赖于这个功能,这对我很合适,因为竞争存在着巨大的障碍

我告诉你不是为了取笑你。我的观点是,我非常确信SkyDrive是正确的答案,所以我投入了大量的工作来实现它

  • 云文件存储非常适合移动设备
  • Azure对于个人想要的那种电话应用来说不是一个好的答案,因为数据存储不是以需要索引或支持高级别并发的方式共享的
  • 我当然可以想到使用SQL Server作为存储的公司电话应用程序
  • Azure可以提供文件服务,但这是一项持续的开支。当谷歌和微软都放弃基于网络的云存储时,没有人会容忍这种情况
  • 我个人可以证明,如果你下定决心,可以从WP7使用SkyDrive
  • 云存储是获得用户的移动设备和计算机共享的可编程访问存储的唯一方法。我打算做的一件依赖于共享存储的事情是编写一个Silverlight应用程序,让您在台式计算机上准备带有多个航路点的地图路线,以及一个在WP7上使用这些航路点的配套应用程序

Windows Live团队已经发布了他们所谓的WP7支持。他们提供了一个示例项目,向您展示如何实例化浏览器对象、加载其登录页面、操作其登录并使用其javascript API操作SkyDrive

这有一个很大的优势:浏览器cookies和缓存的凭证。缺点是明显的;尽管存在技术缺陷,但Windows Live团队似乎认为人们唯一想用手机做的事情就是标记照片和摆弄社交媒体

我已经完成了我自己的图书馆。他们不支持大多数社交媒体的胡言乱语。我将SkyDrive视为一个云文件系统,提供

  • 验证(用户名、密码)
  • CreateFolder(folderpath[,blocking=false])
  • 删除(fileOrFolderPath[,blocking=false])
  • SaveString(文件路径,值[,blocking=false])
  • 加载字符串(文件路径)
我可以处理二进制文件,但Convert.ToBase64不需要这样做,而且字符串对于XML很方便。CreateFolder、Delete和SaveString可以选择阻止。LoadString总是阻塞,因为它是一个返回加载字符串的函数。CreateFolder是递归的,因此您可以在一次调用中创建整个路径(例如/folder1/folder2/folder3)。在预先存在的路径上调用CreateFolder无效,SaveString使用CreateFolder确保