将Silverlight类库引用到MVC应用程序



我有一个正在运行的Silverlight应用程序。我在一个XAML.cs文件中有一个复杂的方法,我正在尝试重新使用它。我想从MVC应用程序调用该方法。我尝试将silverlight类库引用到我的mvc应用程序中,以检查它是否可以工作,但在实例化该类的对象时却出现了异常(xaml.cs类中声明了一些UI元素)。有人能告诉我如何以更好的方式做到这一点吗。我正在考虑通过服务公开这些方法,但我想知道更好的可能性。

Xaml文件(包括它们的cs代码)理想情况下应该只有用于处理用户界面的代码。这是一个很好的例子,说明了为什么将UI与其他逻辑混合会导致痛苦。

如果xaml.cs中的方法足够有用,可以从外部MVC应用程序调用,我会说它不应该在代码背后:它需要位于其他地方,并由代码背后调用。然后MVC应用程序也可以调用它。

tl;dr

1) 将有问题的方法提取到一个单独的实用程序类中

2) 从后面的代码中调用该类方法

3) 从MVC应用程序调用该类方法

您不能在ASP中重用XAML代码。NET MVC应用程序。

但是,您可以从Silverlight应用程序中提取服务器端逻辑代码,并在ASP上重用它。NET MVC。如果Silverlight代码设计良好,那么这应该不是一个复杂的问题。

在这种情况下,您只需要重新实现客户端功能-将C#\XAML替换为HTML\JS\CSS。

此外,您还可以在Silverlight和ASP中使用提取的代码。NET MVC应用程序与可移植类库。查看下一篇文章如何使用它:

  • 使用可移植类库进行跨平台开发
  • 将可移植类库与模型视图视图模型结合使用

最新更新