问题标签 [operationcontract]

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

wcf - 在 WCF 中的 System.ServiceModel.Channels.Message 中定位操作的参数

假设我们有以下服务合同:

我想知道,如何在 System.ServiceModel.Channels.Message 创建的服务器端找到特定的参数值,例如 parameter1 的值。

谢谢!

0 投票
1 回答
2863 浏览

wcf - 我们可以发送一个通用列表(列表) 作为 WCF OperationContract 的参数?

我们可以将通用列表 (List) 作为参数发送到 WCF OperationContract 吗?

似乎唯一的方法是将List封装为另一个类中的DataMember,并将该类指定为DataContract:

但这对我来说不合适。还有其他方法吗?

EDIT1:
预期签名:

这在客户端转换为 CustomObject[]。我目前正在从我的客户传递 CustomObject[] 并且它工作正常,但我想知道为什么我不能通过

这给了我一个编译错误,说没有采用指定参数的函数的重载版本(类型不匹配错误)

编辑2:
相关问题:
1)我应该能够从服务本身控制它。如果我将我的服务公开给全世界,而 wsdl/Proxy 是他们知道我的 OperationContract 签名的唯一方法,该怎么办?
2) 如果我想在同一个服务合同的不同操作合同中同时使用 System.Array 和 System.Generic.List 怎么办?

0 投票
2 回答
10071 浏览

c# - 如何在 WCF 中将接口用作 DataContract

我需要使用标准 wsdl 调用 web 服务操作,但客户端和服务器中的数据对象必须不同。

使用通用库中数据对象的接口,在客户端和服务器中为其创建代理类。

然后,我使用接口声明操作合同,但 WCF 不识别它。

我还尝试过使用 DataContractSerializerBehavior 并设置 knownTypes,但还没有成功。

有人可以帮我吗?我附上了一个包含更多细节的完整解决方案。

单击此处在 GitHub 上查看带有 TestCases的示例项目

0 投票
1 回答
37 浏览

wcf - WCF 绑定过滤器选项

是否有可能我们可以将(OperationContract)一个合同的少数方法暴露ServiceContract)给一个绑定,而将同一合同的WCF其余方法暴露给另一个绑定?(OperationContract)(ServiceContract)

0 投票
2 回答
41 浏览

c# - 通过 WCF 提供整个库的功能

我想构建一个WCF Service应用程序,它应该使用我的库,以便使所有库的方法都可用于服务的客户端。必须有比OperationContract为我的库的每个方法显式编写一个更好的方法,它充当某种代理并在服务器端调用库的实际方法,以便获取返回值并将其传递回客户端。

0 投票
1 回答
582 浏览

wcf - Can WCF Authentication be disabled for a single Operation

I have recently read the WCF Security Guide and am using it to create an application where users need to create their own account, and then access the application with message security. Below is the web.config file I have come up with so far from the book. The issue I am having revolves around user registration. Since the application requires username/password authentication, the method to register a new user consistently fails.

I know of one way around this (switching to role based authentication and creating a single user in a role that has registration privileges, and just hard coding that information into the registration method) but am seeking an alternative solution. Is there a way to declare, at the operation level, that a particular method does not require authentication? If not, is there a way to expose a separate endpoint with a different service contract, and have that contract not require authentication? So much of the web.config file is related to the membership provider and message security, I am a little concerned, but for the method to properly register a new member in the database it does have to know about the membership provider obviously...

This is the function for registering new users.

0 投票
3 回答
2391 浏览

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

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

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

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

谢谢你

0 投票
1 回答
801 浏览

wcf - 当 [OperationContract] 方法将集合作为参数时,更新服务参考不起作用

我有一个非常奇怪的问题,我不明白。我有我的 WCF 接口,其中方法用[OperationContract]属性装饰。然后我有我的服务参考文件夹,我每次更改界面时都会更新它。

一切正常,直到在我的界面中我将声明一个将任何集合作为参数的方法(List<T>,Array<T>IEnumerable<T>)。

然后,当我运行“更新服务参考”时,它没有任何错误就完成了,但生成的Reference.cs文件是空的。

在“配置服务参考”窗口中,我将“集合类型”设置为“System.Collection.Generic.List”

任何人都知道为什么我不能在我的 Operation Contract 方法中使用集合类型作为参数?或者如何解决?

谢谢你的帮助。

0 投票
1 回答
1188 浏览

wcf - OperationContract 名称和 UriTemplate

我创建了一个服务方法。这有 OperationName 和 UriTemplate。根据我的情况,我混淆了这两个名称。

我的理解

Operation Contract Name 指定方法的名称,如别名。因此,如果我没有给出任何 UriTemplate,则 name 属性中指定的名称将被视为如下所示的名称

UriTemplate 用于绑定参数绑定,以便我们可以自定义参数映射。因此,如果我像 /MyMethod/{p1} 这样添加 UriTemplate,他的服务会帮助显示像

这是我的困惑。那么,如果我添加两者对名称没有影响?那么这是使用的最佳实践。那么你能告诉我确切的含义吗?这是最好的做法。

0 投票
1 回答
611 浏览

wcf - WCF 无法实现接口 - 没有匹配的返回类型

为什么我会收到此错误:

错误 1“JoomlaWebservice.KundeService”没有实现接口成员“JoomlaWebservice.ServiceInterface.HentOpgave(int)”。'JoomlaWebservice.KundeService.HentOpgave(int)' 无法实现 'JoomlaWebservice.ServiceInterface.HentOpgave(int)' 因为它没有匹配的返回类型 'JoomlaWebservice.Opgave'。C:\Visual Studio 2010\Projects\JoomlaWebservice\JoomlaWebservice\KundeService.svc.cs 12 18 JoomlaWebservice

代码(服务):

代码(接口):