2_Silverlight访问MSSQL数据库(2)

preview
需积分: 0 1 下载量 173 浏览量 更新于2011-11-22 收藏 349KB DOC 举报
### Silverlight访问MSSQL数据库知识点详解 #### 一、配置Web.Config文件 在使用Silverlight访问MSSQL数据库之前,需要对项目的`Web.Config`文件进行必要的配置。这一环节至关重要,因为它涉及到如何正确地与数据库建立连接以及如何定义服务模型以支持Silverlight客户端的应用程序。 **1. 配置数据库连接字符串** 为了使应用程序能够访问MSSQL数据库,必须在`Web.Config`文件中定义一个连接字符串。示例代码如下: ```xml <appSettings> <add key="DbServiceConnectionString" value="DataSource=(Local);InitialCatalog=SilverlightDemo;UserId=dev;Password=dev;"/> </appSettings> ``` 在这段配置中: - `DataSource=(Local)`表示数据源为本地计算机上的MSSQL服务器。 - `InitialCatalog=SilverlightDemo`指定了要连接的数据库名称为`SilverlightDemo`。 - `UserId=dev`和`Password=dev`分别代表登录数据库的用户名和密码。 注意:在实际应用中,应确保使用正确的数据库服务器地址、数据库名称以及登录凭证,以确保应用程序能够成功连接到数据库。 **2. 修改服务绑定** 由于Silverlight只支持通过WCF service使用BasicHttpBinding进行通信,因此需要对`Web.Config`文件中的`customBinding`进行相应的调整。原代码如下: ```xml <bindings> <customBinding> <binding name="customBinding0"> <binaryMessageEncoding/> <httpTransport/> </binding> </customBinding> </bindings> ``` 需要替换为使用`basicHttpBinding`: ```xml <bindings> <basicHttpBinding> <binding name="BasicHttpBinding_IDataService" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647"> <readerQuotas maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxDepth="2147483647" maxNameTableCharCount="2147483647" maxStringContentLength="2147483647"/> </binding> </basicHttpBinding> </bindings> ``` 在这个新的配置中,`binding`的`name`属性被设置为`BasicHttpBinding_IDataService`,这将在后续的服务端点配置中使用。此外,`maxBufferPoolSize`等属性用于控制消息处理时的缓冲大小,这些值被设置为最大值`2147483647`,适用于处理大型的数据集。如果应用程序不需要处理特别大的数据,可以适当减小这些值,以节省内存资源。 **3. 更新服务端点配置** 接下来,还需要更新服务端点的配置以使用新定义的`basicHttpBinding`。例如: ```xml <endpoint address="" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IDataService" contract="SilverlightDBDemo.Web.DBService"/> ``` 在这里,`binding`属性被更改为`basicHttpBinding`,而`bindingConfiguration`则引用了前面定义的`BasicHttpBinding_IDataService`。 通过以上步骤,Silverlight应用就能够通过配置好的WCF服务与MSSQL数据库进行有效的交互了。需要注意的是,在开发过程中还应关注安全性问题,比如保护敏感数据(如连接字符串)不被泄露,并确保所有网络通信都是加密的。
身份认证 购VIP最低享 7 折!
30元优惠券