问题标签 [domainservices]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1108 浏览

silverlight - Silveright - 扩展 AuthenticationService 以提供自定义身份验证

我正在尝试添加到 Silverlight 4 业务模板中提供的身份验证系统,因为我的模型不完全符合模板中提供的模型。我有一个现有的 Web 服务,它执行我的身份验证并提供角色以及每个角色的允许操作。这是 AzMan/Authentication Manager 提供的模型。

然而,不仅仅是获得一个角色,在身份验证之后,我为用户提供了一个可用角色的列表,并允许用户选择其中一个角色,然后获得该选定角色的操作/操作列表。

我遇到的问题是我无法弄清楚如何向身份验证服务添加新方法以允许我获取当前用户的操作以及当前选择的角色以完成登录过程,例如

使用 WebContextBase.Current.Authentication 从 LoginForm.xaml.cs 无法访问上述方法...只有诸如 Login 之类的方法是可见的,这更加令人困惑,因为我在 authenticationbase 中看不到这些方法。我完全糊涂了。如何向身份验证服务添加新方法,或者我应该创建一个新的域服务,还是应该访问 azman 服务以直接从 silverlight 客户端获取操作。

0 投票
2 回答
2636 浏览

silverlight - Silverlight - 创建了一个新的域服务,但我如何从客户端访问它?

我使用了 SL 业务应用程序模板,并在解决方案的 .Web 部分的 Services 文件夹中添加了一个新的空白域服务。该类是 DomainService1,继承自 DomainService。它包含一种方法:

如何从客户端访问此服务方法?我似乎无法在所有客户端创建域服务的实例.....

0 投票
1 回答
2367 浏览

entity-framework - EF 和域服务上存储过程的 ObjectSet 和 ResultSet

在 EF 4 中,默认 ObjectSet 可用于每个实体。比如我有表Employee,生成Entity Model后,EF会在Employee上创建ObjectSet。那么当使用 wcf ria 服务时,默认查询会是这样的:

public IQueryable GetEmployee() { return this.ObjectContext.Employees; }

使用 objectSet,我可以将 include 应用于结果,例如:

然后我创建一个存储过程说 MySearchForEmployee 并将其作为函数导入。结果映射到实体 Employee。调用该函数时,结果将是 ResultSet,而不是 ObjectSet。

我想通过调用以下存储过程来为域服务提供类似的方法:

但我不能因为上面的代码事件不能通过语法检查。

我尝试了以下方法来转换结果类型:

然后我得到错误:无法将类型'System.Data.Objects.ObjectResult'转换为'System.Data.Objects.ObjectSet'

如何实现这个要求?

0 投票
3 回答
9926 浏览

entity-framework - 错误:一个查询的结果不能被多次枚举

在以下代码中调用 EF 4.0 中的 SP:

For循环导致以下错误:

“查询的结果不能多​​次枚举。”} System.SystemException {System.InvalidOperationException}

似乎它在一段时间内工作正常。不明白为什么。

0 投票
2 回答
12022 浏览

.net - System.ServiceModel.DomainServices.EntityFramework DLL 在哪里?

我正在尝试使用 RIA 服务,我安装了 Silverlight 4 和 Silverlight 4 工具/SDK,但我无法设置 LINQToEntitiesDomainService,因为我找不到这个命名空间/程序集:System.ServiceModel.DomainServices.EntityFramework。这个程序集是从哪里来的,不知道为什么会丢失?这是我缺少的附加组件吗?

谢谢。

0 投票
1 回答
349 浏览

.net - 无法使 EF4 急切加载子类实体工作

我的 EF4 模型中有一个抽象的内容实体,它带有一个具体的子类 MultipleChoiceItem。在 MultipleChoiceItem 的情况下,有一个相关的表,该表由 MultipleChoiceItem 实体上的 Navigation 属性访问,称为 Options。我想预先加载选项结果,因为如果你得到一个 MultipleChoiceItem,你总是想要选项。但是,我似乎无法让它发挥作用。这是我基本完成的:

  • MultipleChoiceItem 是一个子类,因此默认情况下它没有创建元数据。所以,我为它创建了一个元数据类,看起来像这样:

    /li>
  • 然后,我在 ContentService 中创建了一个新查询,如下所示:

    /li>

在单元测试中,我这样称呼它:

一旦我进入 CompletedHandler,下面的代码似乎没有加载 Options 属性——事实上,当它应该是 4 时,Options.Count == 0(通过检查底层数据存储来验证)。

谁能告诉我我做错了什么?我试图按照我看过的模型发布,但显然遗漏了一些东西......

谢谢!

0 投票
1 回答
3157 浏览

silverlight - 域上下文加载

我试图通过 domainservice(async) 在代码行中加载实体,例如:

但我收到以下错误:“SilverlightApplication1.Book”类型不能用作泛型类型或方法“System.ServiceModel.DomainServices.Client.DomainContext.Load(System.ServiceModel.DomainServices.Client.EntityQuery”中的类型参数“TEntity” , System.Action>, 对象)'。没有从“SilverlightApplication1.Book”到“System.ServiceModel.DomainServices.Client.Entit”的隐式引用转换

如何解决?

0 投票
1 回答
669 浏览

silverlight-3.0 - 通过 Ria DomainService Invoke 方法返回关联成员

我使用 Invoke 属性从我的 SL ViewModel 调用了这个 DomainService 方法:

我的 ViewModel 中的代码如下所示:

Recipy 和 Author POCO/ServiceModel 类:

现在,代码工作正常,除了关联的作者没有转移到客户端/视图模型,Recipy 的作者属性为空。我认为使用 [Associate] 和 [Include] 属性可以解决问题吗?

感谢您的帮助,我正在努力了解 DomainService/RIA 的东西,我接近放弃并转而使用“正常”WCF/REST :)

0 投票
1 回答
1232 浏览

c# - Silverlight 4 DomainService - EntitiesInError - EntityConflict - PropertyNames 抛出 InvalidOperationException

在 Silverlight 4 RIA 中的新 DomainService的介绍性教程之后,我遇到了一个意外的异常。当我执行更新时,该属性EntitiesInError[index].EntityConflict.PropertyNames会引发以下异常:

InvalidOperationException:PropertyNames 不可用于删除冲突。

执行的服务方法:

这个线程的答案中,我收集到我应该将启用 Silverlight 的服务与自定义服务对象(DataContractDataMember)一起使用,然后将这些自定义服务对象的值分配给实际的服务器对象(从 DB 模型生成,即 Linq 到Sql 或实体数据模型),并手动调用SubmitChanges()DataContext。

0 投票
1 回答
764 浏览

.net - LINQ to Entity 域服务

我有一个域服务,源自 LinqToEntitiesDomainService<FOOEntities>

它有一个方法,IQueryable<Bar> GetBar()。GetBar 在实体模型上返回一个 LINQ 查询。LINQ 在 LINQPad 中运行良好。

在 Silverlight 事物的 XAML 中,我有一个 ListBox,其 ItemsSource 指向在同一个 XAML 文件中定义的 DomainDataSource,名为 dsGetBar。dsGetBar 上的 AutoLoad="True"。对于 dsGetBar 的 LoadedData 事件,我有一个空处理程序。

我在 VS2010 中运行它。当我附加到 WebDev.WebServer 进程和浏览器实例并加载页面时,我在 GetBar() 和 LoadedData 处理程序中遇到断点。由此我乐观地推断该服务正在被客户端调用。

在 GetBar() 中,我调用 queryresults.Count,它返回 24,000 并进行更改。我的方法返回正常,没有抛出任何异常。

所以问题来了:

在 LoadedData 中,dsGetBar.Data.Count == 0。ListBox 中从未出现任何项目。如果我的 ListBox 项目模板被破坏,我尝试使用 DataGrid 代替。同样的交易。

数据应该在哪里?如果没有,在哪里?当您想为控件提供项目源时,ItemsSource 是正确的属性吗?

是否有任何已知的方法来找出服务和客户端之间发生了什么?

更新

查询方法成功完成后,服务返回 504(“ReadResponse() failed: The server did not return a response for this request.”)。

更新

发生 504 是因为记录数超过 65,535。只有 24,000 多个通过了 LINQ 中的 where 子句(如果没有 where 子句,它将是 74,000 个),因此这甚至不是对可以通过线路的限制。荒诞。这个数字是微观的。

我认为我们了解到的是,实体框架还没有准备好在软件中使用。

更新

...或者当您必须在 XAML 中显示大量记录时,您应该使用分页器。