部署服务以在Silverlight中使用SQL Server

时间:2011-08-03 14:57:49

标签: silverlight

我已经为我的silverlight 4数据库(SQL)事务(VS2010,C#ASP.NET Web应用程序)提供了服务,现在我在这个服务中编写我的SQL函数,我该如何使用这个函数?我已经阅读了一些关于部署服务的文章,但我认为我的情况不应该太复杂,我有一个带有几个网页的大型ASP.net网络应用程序(我在winserver2008上运行一个服务器),它运行良好,我也有一个SL应用程序,我应该上传什么样的文件才能使用服务?我需要一个asmx吗?我怎么创建它?我应该在web.config中更改任何内容吗?

使用我的服务在SQL和SL之间进行通信的最简单方法是什么?感谢

1 个答案:

答案 0 :(得分:2)

WCF RIA服务是最佳选择。你不想打扰老式的ASMX网络服务。

您将在服务器上使用EF模型和DomainContext来处理通过CRUD方法(创建,读取,更新和删除)的所有数据库访问。

在客户端上,您将使用生成的域服务客户端访问数据。

我以前的RIA帖子的注释:

我的建议是始终创建RIA服务库,而不是直接添加到Silverlight应用程序。然后,您可以将客户端库链接到任意数量的Silverlight应用程序,然后将RIA库的.Web部分链接到您的网站以提供WCF服务。关键是要迁移配置设置。

如果你创建一个新的RIA服务库项目,添加你的EDM等,然后将这两半链接到一个单独的Silverlight应用程序和你的新ASP.net网站,可能会更有意义。

步骤一步:

  1. 选择添加新项目创建RIA服务库项目。选择左侧的 Silverlight 。选择右侧的 WCF RIA服务类库。我将假设它被称为此示例的默认名称​​ RIAServicesLibrary1 。它将创建一个名为RIAServicesLibrary1的Silverlight客户端库和一个名为RIAServicesLibrary1.Web的标准.Net库,供Web服务器使用。
  2. 将您的EDMX添加到RiaServices.web项目中。选择添加新项。选择左侧的数据。选择右侧的 ADO.Net实体数据模型。我将假设它被称为此示例的默认Model1.edmx。将它连接到数据库表等。
  3. 构建项目,以便下一步找到您的数据模型。
  4. RiaServices.web项目中创建引用EDMX模型的域名服务。选择添加新项。选择左侧的 Web 。选择右侧的域服务类。我将假设它被称为DomainService1.cs这个例子。通过勾选复选框,从添加新域服务类弹出窗口中选择数据项。将为您选择的每个项目创建一组RIA服务对象和方法。
  5. 将对客户端Ria服务库项目( RIAServicesLibrary1 )的引用添加到Silverlight应用程序。
  6. 向您的托管Web应用程序(例如您的ASP.Net网站)添加对Web RIA服务库项目( RIAServicesLibrary1.Web )的引用。
  7. 将RIAServicesLibrary1.Web / app.config文件中的各个部分复制/合并到< webapplication> /web.config文件中。这将包括任何连接字符串和模块部分。
  8. 再次构建项目,以便“数据源”窗口将显示您的新域上下文数据源。
  9. 直接从您的Silverlight代码中使用RIAServicesLibrary1客户端对象(在此示例中称为DomainService1),如下所示:

    DomainService1 client = new DomainService1();

  10. 或使用Data Sources窗口将新网格等拖放到页面上。

    如果Data Sources窗口不可见,请选择“数据”菜单,然后选择“显示数据源”选项。

    有关详细信息,请尝试以下Microsoft链接:Using WCF RIA Services