Silverlight Interview Questions

Silverlight 面试问题

2025年3月16日 | 6分钟阅读

下面列出了一系列常见的 Silverlight 面试问题和答案。

1) 什么是 Microsoft Silverlight?

Microsoft Silverlight 是一个开源开发工具,用于为 Web 和移动应用程序创建和部署交互式用户体验、互联网应用和媒体体验。


2) Silverlight 是否兼容多种浏览器和操作系统?

是的。Silverlight 兼容多种浏览器、设备和操作系统。它是一个免费的插件,由 .NET 框架提供支持。


3) 在 Silverlight 中使用哪种语言来设计布局?

XAML 语言用于设计 Silverlight 的布局。XAML 是可扩展应用程序标记语言 (Extensible Application Markup Language) 的缩写。它是微软创建的一种基于 XML 的声明性语言。


4) Silverlight 中使用了哪些不同的开发工具?

与 Silverlight 应用程序一起使用的工具是 Microsoft Visual Studio。应用程序是用 .NET 语言编写的。因此,所有与 .NET 语言相关的工具也适用于 Silverlight。Microsoft Expression Blend 是用于开发和设计 Silverlight 用户界面应用程序的工具。Visual Studio 是用于调试 Silverlight 错误和使用无错误应用程序的平台。Silverlight 通常以 zip 格式提供,它包含 .XAP 格式,该格式由一个或多个存储在 .DLL 文件中的 .NET 托管程序集组成。它还包含 AppManifest.XAML,其中包含入口点以及重要的类和程序集。


5) 什么是 RIA?

RIA 是富互联网应用程序 (Rich Internet Applications) 的缩写。这些是功能丰富的 Web 应用程序。这些功能包括内置的 AJAX 支持、布局、动画、音频和视频组件。

Silverlight 是 RIA 的一个例子。


6) Silverlight 的组件有哪些?

以下是 Silverlight 的四个主要组件

  • Silverlight 插件
  • Silverlight 主机,即网页
  • Silverlight 应用程序文件 (.XAP)
  • 界面语言 XAML

7) Silverlight.js 文件是什么意思?

Silverlight.js 是一个帮助文件,用于使网站能够创建高级的 Silverlight 安装和安装体验。


8) Silverlight 中使用了哪些重要的文件?

Silverlight 中需要使用几个文件才能使其正常运行并将应用程序的属性整合在一起

AppManifest.XAML: 它包含了所有入口点的列表,包括类和程序集。这个文件可以被任何 HTML 文件使用对象标签来托管。

代码如下

Silverlight.js 和 CreateSilverlight.js: 包含将在 HTML 页面中使用的 Silverlight 插件的初始化。


9) Microsoft Silverlight 项目是否支持 ADO.Net 对象?

不支持。Silverlight 项目不支持普通的 ADO.Net 对象,如 DataTable、DataSet、DataColumn、数据库连接提供程序(如 SqlConnection、OledbConnection 对象等)。


10) 解释一下 Silverlight 的架构?

Silverlight 的架构由三个组件组成

  1. 核心表示层框架: 该框架包括数据绑定、矢量图形、文本、动画、图像等组件,用于呈现各种功能。
  2. Silverlight 的 .NET 框架: 它包括库和组件,如 XLINQ、XML 序列化、联合、基类库、网络和公共语言运行时。
  3. 更新器和安装程序: 它是一个用于安装的控件,并提供自动更新。

11) Silverlight 插件有哪些功能?

Silverlight 插件具有以下功能

  • 表示引擎
  • XAML 解析器
  • .NET 解析器
  • .NET Framework
  • 媒体功能
  • 浏览器交互
  • 下载器

12) Silverlight 中的 .xap 文件是什么?

.xap 文件是 Silverlight 应用程序的压缩文件。它包含 AppManifest.xaml、Silverlight 项目的编译输出程序集 (.dll) 以及 Silverlight 应用程序使用的任何其他资源。Visual Studio 在创建项目时会创建两个文件:App.xaml 和 Page.xaml。


13) 你如何使用 .xap 文件?

.xap 文件用于包含和传输托管代码应用程序的程序集和资源。该托管代码应用程序应在 Silverlight 2 浏览器插件中运行。


14) 构建 Silverlight 应用程序需要哪些工具?

以下是构建 Silverlight 应用程序所需的两个重要工具

  1. Microsoft Expression Studio: 该工具供网页设计师使用,为 Silverlight 应用程序创建具有增强视觉内容和图形的丰富视觉元素。
  2. Microsoft Visual Studio: 该工具供程序员使用,其应用程序基于逻辑或需要编程。它允许程序员使用任何 .NET 语言(如 C#、Visual Basic.NET 等)构建 Silverlight 应用程序。

15) Silverlight 支持哪些 .NET 应用程序?

Silverlight 支持这两个 .NET 应用程序

  1. 嵌入式公共语言运行时 (CLR)
  2. .NET 框架库

16) 你如何托管 Silverlight 应用程序?

你可以在大多数类型的 Web 服务器上托管 Silverlight 应用程序,例如 Apache 和 IIS (Internet Information Server)。如果你想从你的 Web 服务器托管 Silverlight 应用程序,你需要允许以下 MIME 类型。

扩展名MIME 类型
.XAMLApplication/ XAML+XML
.XAPApplication/ Silverlight-app

17) WPF (Windows Presentation Foundation) 和 Microsoft Silverlight 有什么区别?

Silverlight 的所有功能都包含在 WPF 中。所以你可以说 Silverlight 是 WPF 的一个子集。

Silverlight 就像 Adobe Flash,专为开发丰富的基于浏览器的互联网应用程序而设计,而 WPF 用于为桌面平台开发增强的图形应用程序。


18) 你如何在 Silverlight 中执行事件处理?

我们可以通过使用 JavaScript 在 Silverlight 1.0 中执行事件处理,而 Silverlight 2.0 使用 C#(托管代码)进行事件处理。


19) Silverlight 的 Linux 版本叫什么名字?

Linux 的 Linux 版本被称为 Moonlight。


20) 你对 Silverlight 运行时有什么了解?

Silverlight 运行时基本上是一个组件,负责从服务器下载 .xap 文件,并方便用户在网页中查看 Silverlight 内容的输出。


21) 你如何更改 Silverlight 应用程序的启动页面?

首先打开 App.xaml.cs 文件

在 Application_Startup 事件处理程序中,将 RootVisual 属性设置为特定 Silverlight 类的实例。

例如

如果你有一个名为 MainPage.xaml 的文件,那么在 MainPage.xaml.cs 中会有一个名为 MainPage 的类。


22) Silverlight 中的隔离存储是什么?

隔离存储是 Silverlight 中的一个虚拟文件存储系统,用于在系统上的隐藏文件夹中存储数据。它将数据存储在两个独立的部分

  • 第 1 部分: 它包含管理信息,如磁盘配额。
  • 第 2 部分: 它包含实际数据。

每个 Silverlight 应用程序都分配有自己的存储部分,当前配额设置为每个应用程序 1 MB。


23) 你如何以全屏模式查看 Silverlight 应用程序?

可以使用以下命令以全屏模式显示 Silverlight 应用程序

Application.Current.Host.Content.IsFullScreen = true;


24) Silverlight 支持哪些类型的视频文件?

Silverlight 支持多种类型的视频文件。它可以支持 MP3、Windows Media 音频格式 (wma, wmv 7-9) 和 VC-1 格式。


25) Silverlight 中的深度缩放 (Deep Zoom) 是什么?

深度缩放是 Silverlight 的功能之一,用于放大和缩小应用程序。


26) 是否可以从 ASP.NET 页面向 Silverlight 控件传递参数?

是的。可以通过设置 InitParameters 从你的 aspx 页面和 HTML 页面向 Silverlight 控件传递参数。

XAML 页面的用户控件有一个名为 InitParameters 的属性。你可以从你的 ASPX 页面以键值对的形式设置一个值。由于此属性接受键值对,因此你可以传递任何一组字符串值。


27) 你如何检查 Silverlight 中的互联网连接状态?

你可以使用以下代码检查互联网连接状态


28) ClientBin 文件夹的用途是什么?

ClientBin 文件夹在 ASP.NET 应用程序中用于使用 Silverlight 的功能。ClientBin 文件夹包含 .xap 文件,该文件包含对 Silverlight 库的引用,这些库稍后在 ASP.NET 应用程序中使用。