Silverlight使用当前的.NET项目

时间:2011-08-01 13:34:21

标签: c# asp.net silverlight

.NET解决方案中的Silverlight项目是否可以使用方法,对象和其他.NET项目中的内容?

@all,谢谢你的回复。我的解决方案是在.NET解决方案中有一个项目,它监听某个端口并根据输入发送XML对象。并有一个单独的Silverlight项目,将查询发送到前面提到的.NET解决方案端口。

你认为没有太多开销是可能的吗?我甚至不知道你可以与Silverlight建立TCP连接......

3 个答案:

答案 0 :(得分:2)

不,因为Silverlight代码在用户浏览器内的安全运行时环境中执行,所以出于安全原因,某些常规.NET功能(例如COM Interop(一种访问Windows库的方式))被禁用。

如果您需要从Silverlight代码访问本地资源(通过Windows API公开),则需要创建一个Active-X控件(对于Internet Explorer,其他方法适用于不同的浏览器),这些控件是用C ++编写的,可以访问用户计算机上的所有资源。然后,您可以使用Javascript(从Silverlight调用)从Silverlight控件与Active-X控件进行交互。

答案 1 :(得分:2)

Manually maintaining the links between files in multiple projects using Visual Studio is possible, but it can be time consuming and error prone. For this reason, the Composite Application Guidance for WPF and Silverlight provides the Project Linker tool.

Project Linker: Synchronization Tool

答案 2 :(得分:1)

这里有一些方法可以在Silverlight / .NET库中重用代码(而不是二进制文件):

  • 您可以使用添加现有文件“添加为链接”选项将源代码文件放入Silverlight(假设using语句兼容)
  • 您可以使用RIA服务库在服务器库(标准.NET库)和Silverlight客户端之间共享代码。除了自动生成的RIA数据外,还有一个功能,您只需将文件命名为whatever.***shared***.cs,它就会被复制到匹配的客户端库中。

不幸的是,您不能仅使用自己的.NET版本链接非Silverlight二进制文件。