目前我有一个带导航的纯银色网站。我担心网站上的客户会立即离开,因为他们必须安装SL插件,他们还必须等待1.5兆xap文件才能下载。
silverlight应用程序的第一页是登录/注册页面,用户必须登录或注册才能继续访问站点中的任何其他页面。我正在考虑将这个页面换成ASP.net MVC网页。因此,当用户访问该站点时,第一页自动加载(因为它将是该站点的ASP.net MVC部分),并且当他们正在注册或登录时,silverlight应用程序正在后台下载,或者如果他们没有插件,我会更优雅地处理它。一旦他们登录,它将把它们传递给silverlight应用程序。
只是想知道是否有人对这个问题有所了解并对此主题有任何建议?
先谢谢
答案 0 :(得分:0)
这个问题有几种方法。我将考虑通过单独下载其他组件来减少初始Xap文件大小的方法。这个blog就是一个例子,但是还有很多其他人尝试这种网络搜索的变体:“动态下载程序集MEF Silverlight”。
您将在初始Xap中寻找足够的内容来显示登录屏幕。同时它可能正在执行主页的后台下载。您甚至可以在导航框架中进一步使用MEF来进一步细分您的应用程序,以便主页面显示也不需要完全下载的集合。这是关于该主题的另一个更高级的blog。
答案 1 :(得分:0)
您还可以考虑将其分解为多个应用程序(xaps)。但是您需要担心跨应用程序共享数据,这对于您可以使用的独立存储来说应该不会太多问题。
答案 2 :(得分:0)
您应该仔细自定义HTML托管页面,以避免吓跑潜在客户。关闭Javascript以体验他们所看到的内容:
任何想要使用SEO的Silverlight网站都需要一个ASP.Net站点备份它(为搜索引擎提供可索引的内容页面),所以你不妨在那个重复初始化的ASP.Net站点上添加更多内容。 Silverlight应用程序的功能(即您的注册页面)。
因此,不是替换Silverlight登录,而是在ASP.Net站点上复制它。然后,当他们注册并阅读Silverlight网站的精彩程度时,您将更有可能鼓励他们下载SL。如果您使用RIA服务,它也可以被Asp.net使用,因此您可以在您的网站和应用程序之间共享许多功能。
关于1.5Mb下载。正如AnthonyWJones所暗示的......这很糟糕。如果可能,您希望使初始Silverlight负载低于几百kk。互联网用户希望在几秒钟内看到一些东西或者他们会离开。这可以使用模块化加载技术,如MEF或Prism(现在包括MEF支持)。我们有一个20Mb Prism Silverlight应用程序(42个模块),但初始负载低于500kb(并希望将其降低到100kb以下)。