问题标签 [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 投票
0 回答
433 浏览

wcf - WCF 中是否可以为不同的端点使用不同的 mexHttpBinding?

我的 WCF 库中有 3 个服务合同接口,如下所示:

我还有一个实现 ServiceContract3 的服务。我可以通过为每个端点设置不同的合同来拥有不同的端点,如下所示:

这些端点似乎工作得很好,但只有一个mexHttpBinding端点自动生成。因此,尽管客户端需要使用其中一个端点,但在添加服务引用后它将拥有整个类。

我可以mexHttpBinding为不同的合同设置不同的端点吗?我可以遵循什么方法吗?谢谢你的帮助。

编辑#1:ServiceModel 配置

我的控制台应用程序中只有一项服务:

0 投票
1 回答
1896 浏览

wcf - WCF 中的服务合同是什么?

WCF 中的服务合同到​​底是什么?我似乎无法找到它是什么的明确定义。如果您有一个链接来定义它是什么,那就太好了。

0 投票
3 回答
2391 浏览

c# - 如何将 OperationContract 应用于接口中的所有方法

我在我的 wcf 应用程序中创建了一个服务合同,它包含很多方法。

OperationContract我发现为所有这些都写一个属性很烦人。

有什么简单的方法可以说“我的ServiceContract界面中的每个方法都是一个OperationContract”?

谢谢你

0 投票
2 回答
1178 浏览

c# - 为什么 WCF 代理对象不能访问全局静态对象?

我的WCF服务有一个OperationContract方法(getMyObject()),需要用到全局静态变量……为什么WCF操作总是报错说全局变量为null?
- 我已经使用单独的调试器单步执行了 WCF 服务主机,并且我知道全局变量不为空!- 但对客户来说,它似乎是空的!

请求客户:

服务主机:

ServiceContract 接口:

ServiceContract 对象:

我的对象:

谢谢!

0 投票
0 回答
43 浏览

c# - 更改 IDictionary 在 ServiceContract 中的序列化方式

/testfoo在 Chrome 休息客户端中调用Debug.WriteLine打印:

但实际响应的格式如下:

我更喜欢第一个变体。如何配置或控制序列化以实现此目的?

0 投票
0 回答
6644 浏览

c# - 无法加载,因为它具有 System.ServiceModel.Channels.Message 类型的参数或返回类型或

所有,我在加载 WCF 服务时遇到以下错误。无法加载操作“GetEffort”,因为它具有 System.ServiceModel.Channels.Message 类型的参数或返回类型,或者具有 MessageContractAttribute 和其他不同类型参数的类型。当使用 System.ServiceModel.Channels.Message 或带有 MessageContractAttribute 的类型时,该方法不得使用任何其他类型的参数。

这是服务合同

我不知道发生了什么。我看到类似的帖子说消息合同不匹配。但在这里我返回一个类型 Message 本身。

0 投票
2 回答
995 浏览

c# - 以后更改 WCF 服务合同需要最佳指导

我是新手,但是阅读了一些关于 wcf 的文章后我才知道,如果我改变了,ServcieContrcat那么我不仅要改变服务端,还要改变客户端端,这真的很难管理。

开发人员必须为订单处理创建 WCF 服务,具有以下功能:GetOrderById, GetOrdersByStatus, SaveOrder

ServiceContract 可能如下所示

几个月后,例如,项目经理说:好的,我们的客户需要另一个功能:DeleteOrderById, GetOrdersByCustomerId不再需要GetOrdersByStatus,我们需要GetOrdersByStatusAndCustomerId

开发人员必须更新ServiceContrcat和更新客户端。如您所见,任何更改ServiceContrcat都非常困难

所以我正在寻找如何开发 wcf 服务的最佳指导,如果我们扩展功能或任何类型的更改,这不会产生任何问题,但客户端不会遇到任何问题。谢谢

一个人之前回答过同样的情况

这就是我所做的:我的所有 30 多个函数(并且列表不断增长)都将字符串、整数和字节()作为数据类型作为输入和输出参数,我创建了一个主单一端点和函数,用于接收,如一个输入参数,并作为输出返回一个简单的类。这个名为 HostInterface 的类只包含两个参数,一个字符串(我用它来封装我的所有字符串和整数)和一个 byte() 数组(我将所有二进制文件都填充到其中)

因此,无论客户是调用像 Ping() 这样简单的字符串参数,还是像 ResumeDownload() 那样使用 5 个字符串、2 个整数和一个字节数组的复杂函数,所有这些参数都封装在我的 HostInterface 类中,字符串并将整数放入一个字符串参数(如 XML)中,并将字节放入字节字段中。

我很欣赏他的回答,但真的不明白如何实施。所以如果有人去这个网址如何更改不影响客户端的 WCF 服务合同?

然后就知道他说了什么。

我正在寻找小的完整 wcf 服务代码,它可以帮助我可视化如何设计服务合同,如果我们稍后扩展服务合同的功能,那么将使用我的服务的客户将不会遇到任何问题。

并告诉我其他可能的指导方针来解决这种情况。谢谢

0 投票
0 回答
173 浏览

wcf - 讨论 WCF 服务中多端点的优势

一个人这样解释,但不太清楚如何实现它。

根据经验:

使用不同的绑定,例如一个 BasicHttpBinding 用于 Java 客户端,而 WsHttpBinding 用于 .NET 客户端。还有一些是HTTPS,另一些是HTTP......

划分和暴露不同的合约/接口。例如,您有一个公开许多操作的接口,并且您有一个简化的接口来执行基本操作,然后您将第二个接口发布到外部,因此内部客户端使用端点作为扩展接口,而外部客户端使用另一个接口。

例如

现在,当实现在同一个类中时,您只向外部公开一个。

我不明白如何以这样一种方式设计我的服务合同,即我将向其他客户端公开的操作很少,而我将向内部客户端公开的扩展功能。所以如果可能的话,让我明白给我一个小程序和代码,它是如何通过 WCF 服务中的多个端点实现的。谢谢

0 投票
2 回答
664 浏览

wcf - DataContractAttribute.Namespace 属性的格式是什么?

此 MSDN 文章建议始终为 ServiceContract 和 DataContract 提供命名空间。

示例通常具有命名空间的“模式”前缀和 URI 类型模式,例如

Namespace="urn:WCFEssentials/Samples/2008/12"

而不是带有点符号的传统 C# 命名空间,例如

Namespace="MyNamespace.MyDataClasses"

命名空间属性的建议格式是什么?我们需要模式前缀吗?为什么建议使用这种格式?

0 投票
2 回答
4026 浏览

c# - 没有服务合同接口的 WCF 是可能的

我正在搜索谷歌以知道我们如何轻松地将 asmx 服务转换为 wcf,在那里我看到人们编写类似的代码

这是我的旧 asmx 服务

转换为 wcf

我在转换时看到人们没有使用服务合同接口。它将如何工作,因为我知道当我们开发 wcf 服务时,我必须为单个服务编写一个服务合同接口。所以寻找讨论如何在没有服务合同接口的情况下开发 wcf 服务。谢谢