如何使用 Silverlight 4.0 且不使用 EF 设置 RIA 服务

2023-12-02

作为 Silverlight 新手,我发现设置 RIA Web 服务非常困难。网络上提供的示例几乎总是将实体框架称为 ORM,但我们使用 NHibernate 作为 ORM。我知道 Brad Abrams 的教程,他使用 NHibernate 作为 ORM,但其中大部分都超出了我的理解范围,因为我也是 NHibernate 的新手,并且 RIA 的一些概念对我来说并不清楚,例如域服务。

我想首先保持简单并暂时忽略 ORM。那么,有人能给我指出正确的方向,即如何获得与 Silverlight 4.0 和最新版本的 RIA 一起使用的“普通”Web 服务吗?例如,我如何公开一个返回整数 100 的方法,然后从我的 SilverLight 应用程序调用该方法?另外,我不确定它是否相关,但 Silverlight 应用程序托管在 ASP.NET MVC 2 中。

对我来说,这应该很简单,但我现在真的很挣扎。

TIA,

David


这些场景(带有 Silverlight 的非 EntityFramework RIA 服务)肯定没有记录在案,我希望很快发布一些博客文章来涵盖这些场景(包括如何使用 NHibernate)。

这是执行您所要求的操作的一种方法:

如果尚未安装“Silverlight 4 Tools for Visual Studio 2010”,请安装:

在 Visual Studio 2010 中创建一个新的 Silverlight 导航应用程序(选中该框以启用 RIA 服务)。

修改web项目中的web.config,方法如下:

部分中,添加:

<httpModules>
  <add name="DomainServiceModule"
   type="System.ServiceModel.DomainServices.Hosting.DomainServiceHttpModule,
         System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0,
         Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</httpModules>

添加 部分作为 的对等部分:

  <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"
     multipleSiteBindingsEnabled="true" />
  </system.serviceModel>

将以下引用添加到 Web 项目中:

System.ServiceModel.DomainServices.Hosting  
System.ServiceModel.DomainServices.Server

在 Web 项目中创建一个新类 VanillaDomainService,其中包含“return 100”方法:

[System.ServiceModel.DomainServices.Hosting.EnableClientAccess()]
public class VanillaDomainService :
                System.ServiceModel.DomainServices.Server.DomainService
{
    public int ReturnInteger100()
    {
        return 100;
    }
}

现在回到 Silverlight 应用程序项目,在 Home.xaml.cs 的 OnNavieratedTo 方法中,调用新的 RIA Services 方法(记住所有调用都是异步的):

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        SilverlightApplication1.Web.VanillaDomainContext oneVanillaDomainContext =
           new SilverlightApplication1.Web.VanillaDomainContext();

        oneVanillaDomainContext.ReturnInteger100(
           anInt => MessageBox.Show(anInt.Value.ToString()), null);
    }

现在构建并运行,应该就是这样了。

我测试了这段代码,它对我有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Silverlight 4.0 且不使用 EF 设置 RIA 服务 的相关文章

随机推荐

  • Angular 2 + 如何使用相同的选择器选择和循环多个元素(elementRef.nativeElement)

    在我的组件中 我尝试取消选择具有相同类名的所有复选框 querySelector每次 或一次 仅选择第一个 并且querySelectorAll不选择任何内容 这就是函数 我知道这样使用 jQuery 是错误的 但它说明了我的目标 unse
  • C 套接字发送 UDP 并处理来自路由器的 ICMP 回复

    我正在尝试向生存时间为 1 的路由器发送 UDP 数据包 然后接收 ICMP 超时回复 到目前为止 我能够发送数据包 但是当我的程序到达执行的接收部分时 它就挂起了 我对recvfrom进行了错误检查 但它甚至没有达到这一点 我的计算机正在
  • 在匹配中返回 Result>

    我有一组实现给定特征的类型 我想从字符串名称中获取具体类型对象 奇怪的是 当我的match回报Box
  • 目标 c 中 didload 方法启动时的 LandscapeOrientation

    我做了一个iPad应用程序 当我第一次以纵向模式加载应用程序时 它工作正常 但是当我第一次以横向模式加载应用程序时 它仅采用纵向模式的坐标 因为在我的内部didLoad方法我只给出纵向模式的坐标 现在需要给出我的横向模式的坐标didLoad
  • Docker 无法启动 Rails

    我正在尝试使用 Rails 启动我的 Rails 应用程序 它依赖于redis 它似乎可以工作 但是当rails服务器启动时它会失败Cannot assign requested address connect 2 for 1 6379 E
  • GetFileVersionInfo() 返回错误的文件版本信息

    我有一个应用程序需要检查各种系统 EXE 和 DLL 的版本以确定它们是否容易受到攻击 这是一个本机 C 应用程序 在其清单中不提供任何特定的 WinSxS 链接 在 Windows 7 上 当我在绝对路径 例如 c windows sys
  • 编写函数将某些列更改为小写

    我正在尝试编写一个函数 该函数允许我将数据框中某些字段的大小写更改为小写 我试图通过使用 function for 和 tolower 命令来做到这一点 但我没有任何运气 我对 R 还很陌生 所以我可能会遗漏一些明显的东西 我将不胜感激任何
  • 将具有动态高度的 div 移出其父容器

    我正在尝试将高度动态变化的 div 移出其父 div 并返回 问题是动态高度 否则我可以轻松地将负高度设置为底部值 现在我只是将一个很大的负数像素设置为底部值 但这不是很好 也不能正确解决问题 从逻辑上讲 这种情况发生在少数人身上 fidd
  • 这个计算每个元音出现次数的 C 程序有什么问题?

    PROBLEM 编写一个 C 程序 提示用户输入一串以 ENTER 键结尾的字符 即 n 然后统计该字符串中每个元音出现的总数 您的程序应遵循以下准则 你的程序应该声明一个由5个整型计数器组成的数组 即counter 使用循环 您的程序应将
  • 编写一个 c 函数,在给定特定范围的情况下生成一个随机数、一对随机数或一组随机数

    我必须为 3 种不同的情况生成随机数 我 1 个骰子 二 一对骰子 三 3 个骰子 我的问题 1 请建议我为所有 3 种情况生成随机数的良好逻辑 2 当我考虑2个骰子而不是1个骰子的cses时 逻辑会改变吗 3 我们生成随机数的范围对随机函
  • 如何在社交媒体应用中阻止 Firebase 上的用户?适用于 iOS

    在此输入图像描述我的应用程序完成度约为 90 并已准备好发布它 以便可以发布它进行测试 我被苹果拒绝了 因为我没有一个非常重要的功能 一种让用户阻止滥用用户的机制 我已经有了一个可以关注其他用户的功 能 但我一直困惑于如何阻止访问 这样当一
  • 如何在ELB后面的tomcat上重定向到https

    我在 AWS 上有以下设置 ELB 终止 SSL gt nginx 在 80 上接收 http 并转发到 gt 8080 上的 tomcat 但是当我在 servlet 中执行 response sendRedirect somepath
  • 使用正则表达式从 html 中提取电子邮件

    我正在尝试使用正则表达式从中提取任何 jabber 帐户 电子邮件 这一页 我尝试过使用正则表达式 w w w w w 但它没有产生预期的结果 这可能有效 s lt gt s lt gt s lt gt p re compile ur s
  • 分解(转置?)Spark SQL 表中的多列

    我正在使用 Spark SQL 我提到它在 Spark 中 以防影响 SQL 语法 我还不够熟悉 无法确定 并且我有一个正在尝试重新构造的表 但我尝试同时转置多列时遇到困难 基本上我的数据看起来像 userId someString var
  • 如何修复 Google OAuth API - (403) 您的 API 密钥上配置了按 IP 或按引用者限制

    我最近将一个项目转移到另一台服务器 域名是一样的 只是指向了新服务器 网址完全相同 然而 自从移动项目以来 当应用程序尝试连接到 google OAuth api 时 我收到此错误 name Error calling GET https
  • CSS 自定义光标在 FF/Chrome 中不起作用

    我正在尝试使用下图创建自定义光标 http anuary com dev hp pad3 public images hand cursor png 必须保留图像大小 我试过简单地使用body cursor url http anuary
  • Ansible 列表列表 - 扁平化

    我在剧本中使用 set fact 来使用 regex findall 收集数据 我用正则表达式取出两个组 最终结果变成一个列表列表 set fact nestedList myOutput stdout 0 regex findall n
  • 找出构成四边形的点的顺序

    给予的同时一个答案 to 给定四个坐标检查它是否形成正方形 我碰到这个答案 它检查平行四边形 然后检查直角 这有效 但前提是输入的点按一定顺序排列 即 P1 和 P3 必须彼此 相对 而不是相邻 那么 问题来了 如果输入的四个点可以按任何顺
  • 位置“/”处的匹配叶路由没有元素

    位置 处的匹配叶路由没有元素 这意味着默认情况下它将呈现一个空值 从而导致 空 页面 App js File import BrowserRouter as Router Routes Route from react router dom
  • 如何使用 Silverlight 4.0 且不使用 EF 设置 RIA 服务

    作为 Silverlight 新手 我发现设置 RIA Web 服务非常困难 网络上提供的示例几乎总是将实体框架称为 ORM 但我们使用 NHibernate 作为 ORM 我知道 Brad Abrams 的教程 他使用 NHibernat