将 Silverlight4 应用程序与 ASP.NET 应用程序集成

发布于 2024-11-24 16:51:22 字数 589 浏览 0 评论 0原文

我在silverlight4中制作了一个应用程序,并使用EDM和WCF-RIA进行数据库访问。

现在我想将此应用程序集成到 ASP.net 项目中,当我将其集成到 ASP.net 项目中时,它给出了此异常 -

Microsoft JScript 运行时错误:Silverlight 应用程序加载操作中的未处理错误查询“GetQuestions”失败。远程服务器返回错误:NotFound。在System.ServiceModel.DomainServices.Client.OperationBase.Complete(异常错误) 在System.ServiceModel.DomainServices.Client.LoadOperation.Complete(异常错误) 在 System.ServiceModel.DomainServices.Client.DomainContext.CompleteLoad(IAsyncResult asyncResult) 在 System.ServiceModel.DomainServices.Client.DomainContext.<>c_DisplayClass1b.b_17(Object )

所以请帮助我。

I made one application in silverlight4 and used EDM and WCF-RIA for database access.

Now I want to integrate this application to asp.net project and when I integrate it into the ASP.net project it is giving this exception-

Microsoft JScript runtime error: Unhandled Error in Silverlight Application Load operation failed for query 'GetQuestions'. The remote server returned an error: NotFound. at System.ServiceModel.DomainServices.Client.OperationBase.Complete(Exception error)
at System.ServiceModel.DomainServices.Client.LoadOperation.Complete(Exception error)
at System.ServiceModel.DomainServices.Client.DomainContext.CompleteLoad(IAsyncResult asyncResult)
at System.ServiceModel.DomainServices.Client.DomainContext.<>c_DisplayClass1b.b_17(Object )

so please help me anybody.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你列表最软的妹 2024-12-01 16:51:22

您的 RIA 服务 DomainService 有 2 个部分。您通过复制 XAP 文件复制了客户端部分,但缺少服务的 RIA WCF 服务器端部分。

您需要将域服务文件从原始 Silverlight 网站移动到新的 ASP.Net 项目(以及正确连接它所需的任何 web.config 设置)。 这不在 ASPX 文件中。如果没有看到现有项目的具体信息,我无法准确地告诉您需要迁移哪些文件名。

我的建议是始终创建 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 RIA 服务库项目 (RIAServicesLibrary1.Web) 的引用添加到您的托管 Web 应用程序(例如您的 ASP.Net 网站)。
  7. 将 RIAServicesLibrary1.Web/app.config 文件中的各个部分复制/合并到/web.config 文件中。这将包括所有连接字符串和模块部分。
  8. 再次构建项目,以便数据源窗口将看到新的域上下文数据源。
  9. 直接从 Silverlight 代码使用 RIAServicesLibrary1 客户端对象(在本示例中称为 DomainService1),如下所示:

    DomainService1 client = new DomainService1();

或使用数据源窗口将新网格等拖/放到页面上。

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

有关详细信息,请尝试此 Microsoft 链接:使用 WCF RIA 服务

Your RIA Services DomainService has 2 parts. You have copied the client part by virtue of copying the XAP file, but you are missing the RIA WCF server-side part of the service.

You need to move the Domain service files from your original Silverlight website to your new ASP.Net project (along with any web.config settings required to wire it up properly). This is not in the ASPX files. Without seeing the specifics of your existing projects I can't tell you exactly what filenames you need to migrate.

My suggestion is to always create RIA Service libraries instead of adding directly to a Silverlight application. Then you can link the Client-side library to any number of Silverlight applications, then link the .Web part of the RIA library to your website to provide the WCF service. Again the key is to migrate the config settings.

It will probably make a lot more sense if you create a new RIA services library project, add your EDM etc, then link the halves to a separate Silverlight app and your new ASP.net website.

Step-by-step:

  1. Create RIA Services Library project by selecting Add New Project. Select Silverlight on the left. Select WCF RIA Services Class Library on the right. I will assume it is called the default name RIAServicesLibrary1 for this example. It will create a Silverlight client library called RIAServicesLibrary1 and a standard .Net library called RIAServicesLibrary1.Web for use by the Web server.
  2. Add your EDMX to the RiaServices.web project. Select Add new item. Select Data on the left. Select ADO.Net Entity Data Model on the right. I will assume it is called the default Model1.edmx for this example. Connect it to your database tables etc.
  3. Build your project so that the next step will find your data model.
  4. Create a Domain Service referencing your EDMX models in your RiaServices.web project. Select Add new item. Select Web on the left. Select Domain Service Class on the right. I will assume it is called DomainService1.cs for this example. Choose your data items from the Add New Domain Service Class popup window by ticking the checkboxes. A set of RIA services objects and methods will be created for each item you select.
  5. Add a reference to the client Ria services library project (RIAServicesLibrary1) to your Silverlight application.
  6. Add a reference to the web RIA services library project (RIAServicesLibrary1.Web) to your hosting web application (e.g. you ASP.Net website).
  7. Copy/merge the various sections in the RIAServicesLibrary1.Web/app.config file into your <webapplication>/web.config file. This will include any connection strings and the module sections.
  8. Build the project again so that the Data Source window will see your new Domain Context data sources.
  9. Use the RIAServicesLibrary1 client object (called DomainService1 in this example) directly from your Silverlight code like this:

    DomainService1 client = new DomainService1();

or use the Data Sources window to drag/drop a new grid etc onto a page.

If the Data Sources window is not visible select the "Data" menu then the "Show Data Sources" option.

For more information try this Microsoft link: Using WCF RIA Services

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文