从silverlight应用程序访问SQL Server数据库

本文关键字:Server 数据库 SQL 访问 silverlight 应用程序 | 更新日期: 2023-09-27 18:14:12

我们的ASP。NET网站允许用户执行各种查询,并根据从数据库查询的结果显示网络图(如UML图)。目前,我们正在生成一个位图并显示它。但由于我们需要支持一个功能,允许用户以交互方式显示/隐藏某些块,我们计划使用Silverlight来渲染图形。我们还计划在未来增加更多的交互。

我有两个问题:

  1. 有可能把ASP。. NET应用程序向silverlight应用程序"发送"参数。
  2. silverlight应用程序可以查询SQL server数据库吗?

p。如果有比Silverlight更好的选择,请建议。

从silverlight应用程序访问SQL Server数据库

一般来说,您应该使用适当的分层体系结构,实际上,对于SL,您不能引用任何非SL控制库的类库。

一旦有了可用的DAL和BL层,就可以根据需要使用WCF服务层公开BL的部分逻辑,并从SL应用程序中使用它。请参阅我建议的分层方法,它不仅适用于MVC,也适用于任何UI框架,如果你实际上不使用EF。

MVC3和实体框架

  1. 是的,通过在aspx标记中使用查询字符串参数来定义对象标签。
  2. 不,至少不是直接的。你可以将你的silverlight应用程序连接到一个可以查询数据库的WCF应用程序。

简单地说:1是的,2 .直接:no

不那么简单:

1:

你可以使用Initparams传递多个(字符串)参数


编辑:

如果您在aspx页面的目标代码中放入以下内容:

<param name="InitParams" value="keyOne=valueOne, keyTwo=valueTwo" />

在你的App.cs中,你向构造函数中添加以下内容:

this.Startup += this.Application_Startup;

然后在这个函数中你可以得到初始化参数的字典

private void Application_Startup(object sender, StartupEventArgs e)
{
    foreach (var data in e.InitParams)
    {
        if(data.Key.Equals("keyOne"))
        {
            //data.Value now equals valueOne
        }
    }
}

2:您可以使用WCF服务与服务器通信并发送和接收数据(例如数据库数据)


编辑:

在这个链接中解释了如何托管和消费WCF服务(甚至在IIS中托管),消费部分对WPF, Silverlight和任何其他。net程序都是一样的。