问题标签 [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 回答
1762 浏览

wcf - 从 wsdl 文件生成 wcf 服务器代码

您好,我想根据 wsdl 文件生成一些合同。我使用了 svcutil,但我怀疑它生成错误,因为所有合同方法都有 void 返回类型。有没有为此目的的工具?

编辑:这是 wsdl 文件:

合同创建

我不想让 ProcessMethod 返回类型 void 而是 ProcessMethodResponse 类型。我怎样才能实现它?

EDIT2:这是我的架构:

0 投票
3 回答
6005 浏览

wcf - 通用服务合同

我得到“InvalidDataContractException Type 'System.Collections.Generic.List`1[T1]' cannot be export as a schema type 因为它是开放的泛型类型。如果泛型类型的所有泛型参数类型都是实际类型,则只能导出泛型类型。” 如果我主持这份合同。

我读过在 ServiceContract 中避免泛型是件好事。但是可以使用T吗?

0 投票
1 回答
448 浏览

wcf - Web 服务合同设计 - 单一职责

我很想知道大多数开发人员如何为他们的 Web 服务设计合同。我对服务架构很陌生,尤其是对 WCF 很陌生。

简而言之,我想了解您在操作中返回的对象类型,以及您的服务中的每个操作是否返回相同的对象?

例如,考虑以下内容:目前,我创建的所有服务都继承自 ServiceBase 对象,该对象类似于:

p>

Response表示返回对象,其组成如下:

p>

因此,任何派生服务都将返回由相同对象组成的响应。现在最初,我觉得 with 将是一个很好的设计,因为这会迫使每个服务对单个对象负责。在大多数情况下,这已经解决了,但是随着我的服务的增长,我发现自己对这种设计提出了质疑。

举个例子:你有你正在写的音乐服务,你的服务之一是“专辑”。因此,您编写基本的 CRUD 操作,它们几乎都返回 AlbumDto 的集合。

如果你想编写一个返回专辑类型的操作怎么办。(LP、Single、EP 等)所以你有一个对象 AlbumTypesDto。您会为这个对象创建一个新服务还是让您的相册服务返回许多不同的对象?

我可以想象一个具有多种不同返回类型的复杂服务是繁琐且糟糕的设计,但编写一个全新的服务可能只是一种或两种服务操作方法是矫枉过正的。

你怎么看?

0 投票
1 回答
8132 浏览

wcf - 我可以在不更改服务的情况下更改 WCF ServiceContract 接口的命名空间吗?

有没有办法更改 WCF ServiceContract 接口的 .NET 命名空间,但仍使 WCF 服务与使用旧的(除了命名空间相同)ServiceContract 的客户端向后兼容?例如,假设我有(在 vb.net 中):

我想把它改成

根本不改变服务。

我尝试这样做,但是从 wsdl 引用的我的 xsd 显示了新的命名空间名称,这似乎是不兼容的。

有任何想法吗?

0 投票
2 回答
349 浏览

c# - 服务合同设计(操作签名)

我正在设计一些服务,我想获得一些关于我正在使用的约定的反馈。

对于所有操作,我总是定义一个“上下文”对象和一个“结果”对象,因为有以下优点:

  • 可扩展性:我可以在不更改接口的情况下将参数添加到上下文或对象到结果
  • 紧凑性:定义中只有一个对象,即使我需要很多参数

例子:

无论如何,由于以下原因,我不确定这是不是最好的方法:

  • 开销:我总是将响应属性包装到一个对象中。有时,Result 对象没有属性
  • 版本控制:WCF 具有内置的合约版本控制,也许使用不同的版本来告知差异可能会更好

事实上,我也使用与普通方法相同的技术,因此获得一些反馈、建议、批评等对我来说很重要。

谢谢

0 投票
1 回答
1976 浏览

wcf - WCF 中具有多个合同的多个端点

嗨,我有 2 个服务合同 IService1 和 IService2

我希望每个服务合同都有不同的端点,我也只想使用 basichttpbinding。

假设 IService1 地址是http://localhost:4040/MyApp/Service1.svc那么

我想使用地址http://localhost:4040/MyApp/Service1.svc/service2或使用 IService1 地址以外的地址访问 IService2

是否可以 ?

0 投票
1 回答
561 浏览

wcf - WCF服务合同和数据合同

我有以下代码

在上述场景中,我需要包含命名空间“http://www.myweb.com/prod/child”的 GetName 方法 SOAP 标头

0 投票
2 回答
3158 浏览

c# - WCF - 泛化操作字符串

我必须采用一些预定义的 WSDL(我不控制这些),并在我们的设备上公开它们以回复各种 SOAP/UPnP 请求。

无论如何,我已经完成了所有这些工作,但是问题出现了,因为我有一项可以在任意数量的频道上请求的服务。我会解释:

基本上,我正在尝试做的是(我意识到这种语法完全错误,但我认为它会明白这一点)是这样的:

我只是想将原始 Action 消息的某些部分作为参数传递给我正在实现的方法。

我想到的唯一可以实现它的方法是指定其他方法,我们将其称为 Dispatcher 并使用 Action="*",然后使用OperationContext.Current.IncomingMessageHeaders.Action. 这似乎是一种非常阴暗的做事方式。我确信这里的主要障碍是我对 WCF 缺乏经验。

您能提供的任何帮助将不胜感激。

谢谢,

0 投票
3 回答
2075 浏览

jquery - 从wsdl构建soap请求并使用jquery构建服务合同

我正在尝试使用 jQuery 从 wcf Web 服务获取数据。我的jQuery代码如下:

我有一份服务合同:

我有一个 xsd 文件,我可以在 http://.svc/mex 访问它,其中包括

我传递给 jQuery 的数据是:

我需要访问 GetContainerByToken 方法。但我不断收到此错误:

0 投票
1 回答
3176 浏览

wcf - WCF 命名空间使用

好的 - 直截了当的简单问题(2 部分) - 寻找一个简单的答案。

在 WCF 服务合同中,您可以在合同中提供命名空间...

问题是这样的:首先 - 为什么(真正的......这里需要可靠的细节)是为合同命名空间命名约定选择的 http:// 模型

第二 - 一旦设置,我如何利用......像这样?这是在我的主机上-