问题标签 [servicecontract]

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 回答
2998 浏览

c# - 返回接口对象列表时出现 WCF 异常

当我从 ASP.NET 网站调用 WCF 服务时,出现以下异常。我们怎样才能克服它?

注意:通过在服务项目中应用断点,我已经验证服务返回了两个有效对象。

注意:在服务中,我正在返回 IBankAccount 的列表。[OperationContract] List<IBankAccount> GetDataUsingDataContract(int userId);IBankAccount 是一个接口。

异常显示“底层连接已关闭:连接意外关闭”。下图中提供了详细的堆栈跟踪。

在此处输入图像描述

//网站

//服务接口

//DTO

//服务实现

//业务层

//数据访问层

阅读:1. WCF 对象设计 - OOP 与 SOA

0 投票
1 回答
4052 浏览

c# - 具有多个服务合同的单个端点

如何编写具有单个端点但具有多个服务合同的 WCF Web 服务?

例子:

让我们认为 IInternetService 是我的主要网络服务,我想在其中实现 IwiredService 和 IWirelessService,但我想在他们的类中实现。这可能吗?我怎么解决这个问题?

0 投票
1 回答
426 浏览

wcf - WCF - 如何以更面向对象的方式定义服务?

通过 WCF 访问远程对象模型的最佳方法是什么?

我有一个带有面向对象模型的系统层 (A),并希望从另一层 (B) 访问此模型

所需对象应由 B 按需加载。例如,假设我有 C1 和 C2 类,C1 持有 C2 的列表。此列表应仅在访问时加载。

由于数据合同不能保存操作合同,我将使用一个服务合同来实现这一点,其中有两种方法“getC1”和“getListC2(C1)”

但是,我真正想要的是访问一个面向对象的模型,例如在 C1 上调用一个函数:C1.getListC2

如何以更面向对象的方式使用 WCF?

0 投票
1 回答
2201 浏览

wcf - Wcf 服务继承(扩展服务)

我正在开发的程序使用 wcf 公开回调和服务。基本上,服务所做的只是返回一些变量值。至于回调,他们只是更新那些变量。

我希望能够公开一个只包含服务的类和一个包含服务和回调的类。

例如 :

如果我只想要服务,我可以使用基类。但是,如果我想订阅回调并使用服务,我可以使用 ServiceAndCallbackClass。

这可能吗 ?

0 投票
0 回答
1110 浏览

c# - RequestSecurityTokenResponse 不会反序列化

我有一个连接到 STS 服务器的 WCF 客户端,我无法控制它(它是第 3 方 PHP 服务)。

经过几天的研究,我设法以它接受的方式与服务器交谈,使用纯 WCF。当然,将一些字符放到网络上会很容易,而忽略所有 SOAP 内容。但最后我设法猜对了每个配置参数,所以 STS 服务这样回答我的请求

但是现在我无法提取标识符值。对于我的代理类 ( ),我尝试了所有类型的,和的所有SecurityTokenServicePortTypeClient : ClientBase<SecurityTokenServicePortType>, SecurityTokenServicePortType可以想象的组合。但我得到的只是。ServiceContractDataContractXmlSerializationnull

服务合同的(大量修改的)接口看起来像这样

(大量修改的)实现类有这样的方法

x 总是null

而不是它的返回类型object最初是RequestSecurityTokenResponse等等。

几年前我在 WSE 上遇到过同样的问题,我能够通过使用正确的组合来解决这个问题,例如XmlElementAttribute控制反序列化过程。但这一次似乎没有帮助。

感谢您的任何建议!

比约恩

0 投票
2 回答
629 浏览

c# - 服务契约中的构造器逻辑

我有一份服务合同:

我们的一些开发人员正在做这样的事情:

我认为构造函数逻辑不属于我们的服务合同,因为如果您使用“添加服务引用...”并且正在使用由 Visual Studio 生成的代理类,该代码将不起作用。

在内部,我们使用 Castle DynamicProxy,如下所示。但是,我希望我们的开发人员避免在服务合同类中使用构造函数逻辑,以防我们由于某种原因无法使用 DynamicProxy。

那么:构造函数逻辑是否在这些类中占有一席之地,或者作为最佳实践,我们应该将它们视为更多的 DTO 并在没有行为的情况下实现它们?

0 投票
1 回答
184 浏览

wcf - 未调用 WCF ServiceContract 和 SOAP 响应 *Response

我正在使用 WCF 编写一个 SOAP 使用者。

在以下 WCF 服务协定中,WCF 期望响应具有一个 Body 和一个名为HelloResponse的元素:

在我调用的服务上,它实际上被称为HelloResult。我如何在不使用 MessageContracts 的情况下告诉 WCF?我尝试了以下组合和变体,但没有成功。

0 投票
1 回答
2401 浏览

wcf - WCF 合同和命名空间?

你好,

WCF 中数据/服务协定的默认命名空间是"http://tempuri.org/". 通过设置ServiceContract.NamespaceandServiceBehavior.Namespace我们可以得到一个自定义的命名空间。但是,我确实对此有一些疑问:

  1. 我必须使用http://命名空间还是可以将其命名为相同的 CLS 命名空间?
  2. 如果我需要在 MyApp.IO 下设置我的所有数据合同以使用 CLS 命名空间,是否有一种简单的方法可以做到这一点而无需手动设置所有这些?
  3. 有没有一种简单的方法将 CLS 命名空间设置为整个服务及其数据合同的合同命名空间?
0 投票
1 回答
188 浏览

c# - 事件未命中 WCF 服务实现

我有一个 WCF 服务接口、一个实现合同的类和一个托管 winforms 应用程序。然后这会启动连接回 WCF 服务器的工作进程,然后应该触发事件。客户端工作进程在调用方法时没有任何问题,然后我希望在 Windows 窗体应用程序中也调用附加的事件处理程序,但这没有发生:

我将 Service 类的实例传递给 servicehost,它是一个单例实例。我很感激任何可以提供的帮助/见解,说明我为什么没有引用正确的实例。

0 投票
1 回答
250 浏览

wcf - WCF 中 ServiceContract 属性的工作

我刚开始阅读有关 WCF 的信息。作者在书中提到:

ServiceContract属性将 CLR 接口/类映射为独立于该类型的可见性的 WCF 协定。

这怎么可能?给出的解释是:

类型可见性与 WCF 无关,因为可见性是 CLR 概念。

我真的不明白这怎么可能。有人可以解释一下吗?