1

目前我有一个带导航的纯silverlight 网站。我担心访问网站并立即离开的客户,因为他们必须安装 SL 插件,并且他们还必须等待 1.5 meg xap 文件下载。

silverlight 应用程序的第一页是登录/注册页面,用户必须登录或注册才能进入站点中的任何其他页面。我正在考虑将此页面换成 ASP.net MVC 网页。因此,当用户点击站点时,第一页会自动加载(因为它将是站点的 ASP.net MVC 部分)并且当他们注册或登录时,silverlight 应用程序正在后台下载,或者如果他们没有插件,我会更优雅地处理它。一旦他们登录,它就会将它们传递给 silverlight 应用程序。

只是想知道是否有人已经找到了这个根源并对这个主题有任何建议?

提前致谢

4

3 回答 3

0

有几种方法可以解决这个问题。我将考虑通过单独下载其他组件来减小初始 Xap 文件大小的方法。这个博客是一个例子,但还有很多其他人尝试这个网络搜索的变体:“动态下载程序集 MEF Silverlight”。

您将寻求在您的初始 Xap 中有足够的内容来显示登录屏幕。同时它可能正在执行您的主页的后台下载。您甚至可以在导航框架中使用 MEF 进一步细分您的应用程序,以便主页显示也不需要完全下载的集合。这是关于该主题的另一个更高级的博客。

于 2010-09-23T06:29:43.147 回答
0

您还可以考虑将其分解为多个应用程序(xaps)。但是您需要担心跨应用程序共享数据,这对于您可以使用的隔离存储来说应该不是太大问题。

于 2010-09-23T08:03:41.037 回答
0

您应该仔细定制 HTML 托管页面以避免吓跑潜在客户。关闭 Javascript 以体验他们所看到的:

  • 切勿使用默认的“Silverlight 丢失...下载它”页面/图像。
  • 显示一个外观/样式类似于您的实际 Silverlight 应用程序的 HTML 页面。
  • 用图片、促销文字等展示他们缺少的东西。
  • 在您的网站上复制基本功能(见下文)。

任何想要使用 SEO 的 Silverlight 网站都需要一个 ASP.Net 站点来支持它(为搜索引擎提供可索引的内容页面),因此您不妨向该 ASP.Net 站点添加更多内容,以复制其初始功能Silverlight 应用程序(即您的注册页面)。

因此,与其替换 Silverlight 登录,不如在您的 ASP.Net 站点上复制它。然后,当他们注册并阅读您的 Silverlight 网站有多棒时,您将更有可能鼓励他们下载 SL。如果您使用 RIA 服务,它也可以被 Asp.net 使用,因此您可以在您的网站和应用程序之间共享很多功能。

关于 1.5Mb 下载。正如 AnthonyWJones 所暗示的那样……这很糟糕。如果可能,您希望使初始 Silverlight 负载小于 100kb。互联网用户希望在几秒钟内看到一些东西,否则他们会离开。这可以使用模块化加载技术,如 MEF 或Prism(现在包括 MEF 支持)。我们有一个 20Mb Prism Silverlight 应用程序(超过 42 个模块),但初始负载低于 500kb(并希望将其降低到 100kb 以下)。

于 2010-09-23T08:04:57.160 回答