将ASP.NET应用程序转换为Silverlight应用程序

时间:2010-02-15 07:46:27

标签: c# asp.net silverlight silverlight-3.0

我正在使用C#和Visual Studio 2008 SP1开发一个三层ASP.NET应用程序。我正在使用WebForms。

我想知道将该应用程序转换为Silverlight应用程序。也许我可以重用很多ASP.NET层代码。

你怎么看?

3 个答案:

答案 0 :(得分:3)

假设您拥有典型的演示文稿,业务逻辑和数据层,并且假设您已将代码分散到这些层中,您应该能够使用Silverlight界面替换Web窗体并保留BL和DAL完好。

然而,真正的项目往往有些混乱,使这种转变变得更加困难。如果您使用的是SqlDataSource,则可能会遇到问题。

答案 1 :(得分:2)

这些是@Andy的一些好处,并扩展他所说的话:

我现在正在做同样的事情。因为我有一个相当全面的业务层,我已经能够做很多工作(价值几周),在那段时间我只需要向该业务层添加一个功能。这很重要,因为它减少了所需的测试量。它还使得任何剩余的测试更容易,因为更容易将旧版本应用程序的输出与新版本进行比较。

真正有助于实现这一目标的一种模式是外观模式。我构建了一个位于业务层顶部的WCF层,通过使用外观模式,我可以返回更适合新Silverlight界面的结果,而不会干扰业务层。

最有可能的是,您的新UI将具有与ASP.NET版本截然不同的架构。您将能够在UI,代码和数据之间实现更清晰的分离。我非常自豪的一些ASP.NET代码在等效的silverlight代码旁边显得格格不入。准备好删除旧代码,并从后面的代码中删除这些业务规则:)

答案 2 :(得分:1)

如果您的目标只是复制ASP.NET提供的UI行为,那么假设良好的分区,您可以重复使用相当多的代码。你会问为什么你会这么做。

另一方面,如果目标是为用户提供更丰富的交互式体验,那么即使是设计良好的业务层也可能不会像这样一个完全不同的UI需要它。