【问题标题】:Accessing SQL Server database from silverlight application从 silverlight 应用程序访问 SQL Server 数据库
【发布时间】:2011-12-25 12:47:06
【问题描述】:

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

我有两个问题:

  1. ASP.NET 应用程序是否可以向 silverlight 应用程序“发送”参数。
  2. silverlight 应用程序是否可以查询 SQL Server 数据库。

PS。如果有比 Silverlight 更好的替代品,请提出建议。

【问题讨论】:

    标签: c# asp.net sql-server silverlight


    【解决方案1】:

    简单地说: 1 是的, 2直接:没有

    不是那么简单:

    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 服务与服务器通信并发送和接收数据(例如数据库数据)


    编辑:

    在this link 中解释了如何托管和使用 WCF 服务(甚至解释了在 IIS 中托管)消耗部分对 WPF、Silverlight 和任何其他 .NET 程序的工作方式相同。


    【讨论】:

      【解决方案2】:

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

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

      MVC3 and Entity Framework

      【讨论】:

        【解决方案3】:
        1. 是的,通过在定义对象标记的 aspx 标记中使用查询字符串参数。
        2. 不,至少不是直接的。您可以将 silverlight 应用程序连接到可以查询数据库的 WCF 应用程序。

        【讨论】:

        • 因此,Silverlight 似乎不是要走的路。有什么建议吗?
        • 您可以将 Silverlight 用于 UI,但您需要一个 WCF 层来进行数据库交互。
        猜你喜欢
        • 2013-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-12
        • 2012-09-21
        • 1970-01-01
        相关资源
        最近更新 更多