Silverlight入门教程:数据库连接与WCF实践

3星 · 超过75%的资源 需积分: 9 3 下载量 183 浏览量 更新于2024-07-23 收藏 1.06MB DOCX 举报
"Silverlight项目练习入门,包括数据库连接、入门教程、WCF协议等内容,适合初学者学习Silverlight技术。" 在本文中,我们将探讨如何入门Silverlight项目,并结合数据库连接和WCF服务来实现一个基础的应用。Silverlight是微软推出的一种富互联网应用(RIA)开发框架,它允许开发者创建具有丰富用户体验的网页应用程序。 首先,我们需要搭建数据库环境。在这个例子中,我们使用SQL Server 2008,并创建了一个名为"Users"的表,用于存储用户名和密码。数据库中的用户sa通常具有管理员权限,密码部分应根据实际设置填写。此外,我们还创建了一个名为"Login"的存储过程,这个过程接受一个参数(@UserName),并返回匹配的用户名和密码。这将用于验证用户登录时的身份。 接下来,我们使用Visual Studio 2010(VS2010)创建一个新的Silverlight项目。在创建项目时,选择"Silverlight应用程序"模板,并命名为"SiverlightDB"。VS2010会自动为你生成项目结构,包括服务器端和客户端的部分。服务器端的`clientBin`目录在编译后会生成Silverlight应用的XAP文件,包含了所有运行所需的内容。 在设计阶段,我们可以在主界面`MainPage.xaml`中添加所需的控件,如文本框、按钮等,并设置其属性。双击按钮可以自动生成事件处理方法,方便编写业务逻辑。例如,登录按钮的点击事件可能调用我们之前创建的"Login"存储过程,检查输入的用户名是否存在并返回相应的结果。 为了在服务器和客户端之间传递数据,我们需要使用WCF(Windows Communication Foundation)服务。在服务器端,我们创建一个简单的`Users`类,该类包含数据契约成员,这些成员将用于承载从数据库读取的信息。这个类需要继承`INotifyPropertyChanged`接口,以便数据更新时通知UI。同时,通过使用`[DataContract]`和`[DataMember]`特性标记类和成员,声明它们为WCF契约的一部分。记得在服务器端添加对`System.Runtime.Serialization`命名空间的引用。 ```csharp [DataContract] public class Users : INotifyPropertyChanged { private string cUserName; private string cPassword; [DataMember] public string CUserName { get { return cUserName; } set { if (cUserName != value) { cUserName = value; OnPropertyChanged("CUserName"); } } } [DataMember] public string CPassword { get { return cPassword; } set { if (cPassword != value) { cPassword = value; OnPropertyChanged("CPassword"); } } } // 实现INotifyPropertyChanged接口的其他方法 // ... } ``` 最后,我们需要在客户端代码中创建一个WCF服务代理,调用服务器端的方法获取数据。这通常涉及配置服务引用,确保客户端能够找到并访问WCF服务。完成这些步骤后,你就可以开始编写登录验证的逻辑,将用户输入的用户名传递给服务器,通过WCF服务调用"Login"存储过程,然后将返回的结果显示在界面上。 "Silverlight 项目练习入门"教程涵盖了从数据库交互到UI设计再到WCF服务使用的多个关键点,是学习Silverlight开发的一个良好起点。通过实践这些步骤,初学者能够理解Silverlight应用的基本架构和工作原理,为进一步深入学习和开发奠定基础。