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

c# - WCF 服务仅接收 65536 String.Length 大小,不超过

我创建了一个 WCF 服务,它接收字符串(Text/Json)作为请求,但问题是它只能接收长度为 65536(String.Length)的字符串。我通过谷歌搜索在下面尝试过(绑定 maxReceivedMessageSize="2147483647"),但没有任何变化,它只能接收 65536 的 String.Length 大小,仅此而已。我是 dotNet 和 WCF 词的新手,有人可以帮我向该服务发送大数据(我想向我的 WCF 服务发送大约 10MB 的数据)。

0 投票
1 回答
297 浏览

c# - 如何拥有具有多个类的 WCF 服务?

我想要这样的东西

服务1.svc.cs

现在,我正在尝试找到一种在 WCF 接口上实现这些类的方法。我试过了,但它不起作用:

我尝试这种方式的原因是因为我有太多的外部类,我不想每次调用服务时都为它们创建对象只是为了获取用户名。有什么建议吗?

0 投票
0 回答
52 浏览

c# - WCF通过对象参数传递整数数组

我正在尝试使用采用对象的方法调用通过 WCF 连接发送一个 int 数组。但我收到此错误

这是我的界面

这是我使用界面的方式

如何在不引发异常的情况下通过 wcf 连接发送数据数组?

这是 com 暴露的,因此更改参数类型会给我带来很多麻烦。

0 投票
0 回答
105 浏览

c# - 如何修复/诊断“远程服务器返回错误:(400)错误请求。” 对于在站点 A 上工作但不在站点 B 上的查询

我有一个单例 C# 服务,它通过服务合同公开它的 API。一个特定的功能在我设置的开发环境中运行良好,但我在特定查询上从该服务收到错误 400(其他查询工作正常,其中有很多 ~25)。

堆栈基本上是 JS ui -> IIS (10) -> C# Service。IIS 和 C# 服务之间的查询失败。

该站点运行的是 IIS 10,C# 服务是 C# 2015。

我尝试重命名该函数,更改它的签名(创建一个自定义类,将两个参数都传递到一个 JSON 字符串中,而不是两个单独的项目)。我还尝试了 GET、POST 和 PUT 方法,使用 POST 方法我在网站上获得了更高的成功率(例如,14/16 使用 POST,只有 6/16 使用 GET/PUT)。它们都在开发环境中工作,使用 utf-8 图表集

问题分为三个部分。C# Service 有一个接口和一个实现它的类:

班级:

使用以下命令从 IIS 调用:

完整的错误(没有堆栈跟踪)是:

"ExceptionMessage":"远程服务器返回错误:(400) Bad Request。"

但我期待200。

0 投票
2 回答
119 浏览

.net - WCF官方教程中的[ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]是什么意思?

我正在尝试遵循有关 WCF 的官方基本教程:https ://docs.microsoft.com/en-us/dotnet/framework/wcf/getting-started-tutorial

有一次,在定义服务契约时,教程要求我们输入以下代码

我对该ServiceContract属性感到非常困惑,尤其是奇怪的命名空间:http://Microsoft.ServiceModel.Samples

这个命名空间是什么?

我试图搜索 的文档ServiceContractAttribute,但我仍然无法理解这里发生了什么:

默认情况下,Name 和 Namespace 属性是合约类型的名称和http://tempuri.org,分别,ProtectionLevel 是 ProtectionLevel.None。建议服务契约使用这些属性明确设置它们的名称、命名空间和保护级别。这样做可以实现两个目标。首先,它构建了一个不直接连接到托管类型信息的契约,使您能够重构托管代码和命名空间,而不会破坏以 WSDL 表示的契约。其次,明确要求合约本身具有一定级别的保护,使运行时能够验证绑定配置是否支持该级别的安全性,从而防止不良配置暴露敏感信息。有关保护级别的详细信息,请参阅了解保护级别。

这个命名空间是什么?我应该将此属性设置为什么?任何我喜欢的字符串?任何特定格式的字符串?在决定放什么时我应该考虑什么?

两个示例 (http://Microsoft.ServiceModel.Sampleshttp://tempuri.org) 都建议我应该输入一个 HTTP 地址。但是什么HTTP地址?我是否应该在这个地址下运行一个服务器来做一些有意义的事情?这个服务器应该做什么?因为,基于这些示例和http://tempuri.org允许的事实(即使不推荐),我知道这个命名空间不应该设置为我的 WCF 服务的地址?(否则,我知道,http://tempuri.org甚至无法在本地托管的 WCF 服务示例上工作,因为该服务不是托管在 tempuri.org 上,而是托管在 localhost 上!`

什么是http://Microsoft.ServiceModel.Samples???它甚至是一个有效的 HTTP 地址吗?如果有,采用什么格式?(当我看到http://something我希望这是一个 IP 地址或域,可以在 DNS 的帮助下解析为 IP 地址,但Microsoft.ServiceModel.Samples似乎两者都不是)我什至尝试http://Microsoft.ServiceModel.Samples在我的浏览器中输入,但不足为奇,我刚刚收到错误服务器未找到。

这个命名空间的含义是什么?什么放在那里?