Tag: #wcf

如何在WCF中反序列化自定义SOAP标头?

我正在尝试通过WCF向所有SOAP请求添加自定义标头。 我发现这篇关于如何做到这一点的精彩文章 。 我的MessageHeader类看起来像这样: public class OperatorNameMessageHeader : MessageHeader { private string opName; public const string HeaderName = “OperatorNameMessageHeader”; public const string HeaderNamespace = “http://schemas.microsoft.com/scout”; public override string Name { get { return HeaderName; } } public override string Namespace { get { return HeaderNamespace; } } public string OperatorName { get { return opName; […]

生成的服务引用会抛出什么exception?

我使用“添加服务引用…”在Visual Studio 2010中添加了一个Web服务。 这会在名为Reference.cs的文件中生成一些代码。 现在,如果我调用其中一种方法,我就不知道该方法可能抛出的exception。 据推测,它可以抛出网络相关的exception,如SocketException或IOException ? 可以在msdn或源代码内部检查.NET中的常规方法,以揭示可能抛出的exception,例如File.Open 。 这里很清楚我应该捕获哪些exception并重新抛出以在稍后阶段显示错误消息。 对于那些生成的方法,我怎么知道它们可能抛出的exception?

有效关闭WCF 4通道的正确方法

我使用以下方法关闭WCF 4通道。 这是正确的方法吗? using (IService channel = CustomChannelFactory.CreateConfigurationChannel()) { channel.Open(); //do stuff }// channels disposes off??

如何强制.net WCF客户端在basicHttpBinding中使用NTLM?

现在我的安全节点定义如下: 我得到以下错误: HTTP请求未经授权使用客户端身份validation方案“Negotiate”。 从服务器收到的身份validation标头是“NTLM”。

通过WCF流​​式传输未确定数量的对象

我有一个WCF服务,需要从数据库中读取大量(1000万到2000万)个对象。 我想做的是让客户端打开一个流,并让服务器在数据库中读取数据。 因此,客户端可以只是循环反序列化消息,直到它从服务器获取EOF消息,采用Twitter Streaming API的风格,但具有有限的集合。 我遇到的问题是如何返回流然后继续写入。 这可能与WCF有关吗?

在WCF服务的方法中有输出参数是不好的做法吗?

我正在寻找除了通常的“out参数令人困惑并且指示方法不仅仅是一件事”的理由,而且更多关于WCF服务中输出参数特别糟糕的原因。 我现在在哪里工作,我们在WCF服务中有一个规则来反对它们,我正在努力找出原因!

wcf json网络服务

创建JSON Web服务的最佳方法是什么? 我们有另一个使用Java的团队,他们坚持使用JSON完成所有通信。 我更愿意使用WCF而不是任何第三方框架。 我发现这个博客: http : //www.west-wind.com/weblog/posts/164419.aspx ,它表明微软的实现存在M $特定废话的缺陷。

是否可以在自定义WCF服务行为中创建TransactionScope? (async,await,TransactionScopeAsyncFlowOption.Enabled)

TL; DR? 截屏解释问题: https : //youtu.be/B-Q3T5KpiYk 问题 将事务从客户端流向服务时Transaction.Current在等待服务调用服务后变为null 。 当然,除非您在服务方法中创建一个新的TransactionScope,如下所示: [OperationBehavior(TransactionScopeRequired = true)] public async Task CallAsync() { using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { await _service.WriteAsync(); await _service.WriteAsync(); scope.Complete(); } } 为什么默认情况下不启用TransactionScopeAsyncFlowOption我不知道,但我不想重复自己,所以我想我总是使用自定义行为创建一个带有该选项的内部事务管理器。 问题更新 它甚至不必是服务调用服务,等待本地异步方法也使Transaction.Current无效。 用一个例子来澄清 [OperationBehavior(TransactionScopeRequired = true)] public async Task CallAsync() { await WriteAsync(); // Transaction.Current is now null await WriteAsync(); } 试图解决方案 […]

如何为WCF指定自定义SoapAction

我正在创建一个将从另一个服务调用的WCF服务。 在WSDL中,soapaction出现如下 我想要它 如何指定自定义soap操作?

使用XML进行WCF请求validation

我有一个使用.Net 4.0框架的WCF SOAP Web服务。 我使用contract first方法 – 即,使用WCSF Blue工具从手写WSDL生成服务代码。 我对请求消息有以下要求。 如果价格低于100,则不得有税元素,但如果它超过100,则需要纳税元素。 在XPath中,表达式如下 //t:price[. =100][following::t:tax] 我可以在服务的C#代码中处理它。 但我想使用任何XML技术在WSDL本身中定义规则。 这将有助于客户端了解输入消息应满足的业务validation。 (这是业务规则的定义,其实现在WSDL本身;不会将其他文档共享给客户端。) 在WCF中实现它的最佳方法是什么? 在WSDL哪个部分我可以定义XML validations以便它由WCF处理? 在下面给出的前两个引用中,提到了一种关于XPath和C#处理程序(用于Web服务框架)的方法。 我们不能在WCF中这样做吗? C#不能从WSDL读取XPath吗? 怎么做? 任何参考? 注意 :我可以执行C#处理程序; 但validation的business logic应该是XML 参考 使用业务规则validation扩展ASP.NET WebMethod框架 – 由Aaron Skonnard和Dan Sullivan完成 WS-Policy和WSE 2.0断言处理程序 – 由Aaron Skonnard撰写 Hartmut的盒子 – 使用WCF的四个原则和XML消息传递 在WCF中使用Schema进行消息validation 使用Schematron / XSD在C#中进行XMLvalidation 在xsd中定义xml,其中属性确定可能的内容