草庐IT

wcf-authentication

全部标签

c# - WCF 中的 "endpoint"是什么?

我的印象是端点在配置文件中定义为可能的客户端列表,但这没有意义(在我假设它说什么计算机可以连接到服务的意义上)现在我正在收集它更像是一个定义,所以有人可以解释一下对我来说终点是什么吗?我理解定义契约(Contract)接口(interface)然后实现契约(Contract)的概念,但我在这之间的某个地方迷路了,实际上有一些可用的东西。这里的地址是什么?主机地址?绑定(bind)是要使用的通信方法/协议(protocol)是否正确?契约(Contract)本质上是“共享的对象”(是的,我知道这在技术上是不正确的,但在这里和我一起工作) 最佳答案

c# - 为什么 WCF 会像我预期的那样返回 myObject[] 而不是 List<T>?

我正在从我的WCF方法返回一个列表。在我的客户端代码中,它的返回类型显示为MyObject[]。我必须使用MyObject[]、IList或IEnumerable...WCFClientmyClient=newWCFClient();MyObject[]list=myClient.GetMyStuff();orIListlist=myClient.GetMyStuff();orIEnumerablelist=myClient.GetMyStuff();我所做的就是获取此集合并将其绑定(bind)到网格。分配我返回的集合的最佳对象是什么? 最佳答案

c# - Mono https webrequest 失败,返回 "The authentication or decryption has failed"

我正在制作一个简单的REST客户端以在我的C#应用程序中使用。在Windows上的.net中,它非常适合http://和https://连接。在Ubuntu10.10上的单声道2.6.7(也用2.8测试过,结果相同)只有http://有效。https://连接在request.GetResponse()方法上抛出此异常:UnhandledException:System.Net.WebException:Errorgettingresponsestream(Write:Theauthenticationordecryptionhasfailed.):SendFailure--->Sys

c# - 为什么 WCF 中不允许方法重载?

假设这是一个ServiceContract[ServiceContract]publicinterfaceMyService{[OperationContract]intSum(intx,inty);[OperationContract]intSum(doublex,doubley);}C#中允许方法重载,但WCF不允许重载operationcontracts托管程序将在托管时抛出InvalidOperationException 最佳答案 简而言之,您不能重载方法的原因与WSDL不支持C#中存在的相同重载概念这一事实有关。以下帖子

c# - 在 WCF 的代码中将 IncludeExceptionDetailInFaults 设置为 true

如何在不使用App.Config的情况下在代码中设置IncludeExceptionDetailInFaults? 最佳答案 是的,当然-在服务器端,在您打开服务主机之前。但是,这需要您自行托管WCF服务-在IIS托管方案中不起作用:ServiceHosthost=newServiceHost(typeof(MyWCFService));ServiceDebugBehaviordebug=host.Description.Behaviors.Find();//ifnotfound-addbehaviorwithsettingturn

c# - 如何以编程方式将客户端连接到 WCF 服务?

我正在尝试将应用程序(客户端)连接到公开的WCF服务,但不是通过应用程序配置文件,而是通过代码。我应该怎么做? 最佳答案 您必须使用ChannelFactory类。这是一个例子:varmyBinding=newBasicHttpBinding();varmyEndpoint=newEndpointAddress("http://localhost/myservice");using(varmyChannelFactory=newChannelFactory(myBinding,myEndpoint)){IMyServiceclien

c# - 大型 WCF Web 服务请求因 (400) HTTP Bad Request 而失败

我遇到了这个明显常见的问题,但一直无法解决。如果我在数组参数中使用相对较少的项目调用我的WCFWeb服务(我测试过最多50个),一切都很好。但是,如果我用500个项目调用Web服务,我会收到BadRequest错误。有趣的是,我运行了Wireshark在服务器上,看起来请求甚至没有到达服务器-在客户端生成400错误。异常(exception)情况是:System.ServiceModel.ProtocolException:Theremoteserverreturnedanunexpectedresponse:(400)BadRequest.--->System.Net.WebExce

c# - WCF反序列化如何在不调用构造函数的情况下实例化对象?

WCF反序列化有一些魔力。它如何在不调用其构造函数的情况下实例化数据协定类型的实例?例如,考虑这个数据契约:[DataContract]publicsealedclassCreateMe{[DataMember]privatereadonlystring_name;[DataMember]privatereadonlyint_age;privatereadonlybool_wasConstructorCalled;publicCreateMe(){_wasConstructorCalled=true;}//...othermembershere}当通过DataContractSeria

c# - 如何从 WCF REST 方法返回自定义 HTTP 状态代码?

如果WCFREST调用出现问题,例如未找到请求的资源,我如何在OperationContract方法中使用HTTP响应代码(例如将其设置为HTTP404之类的代码)? 最佳答案 有一个WebOperationContext你可以访问并且它有一个OutgoingResponse类型属性OutgoingWebResponseContext它有一个StatusCode可以设置的属性。WebOperationContextctx=WebOperationContext.Current;ctx.OutgoingResponse.StatusC

c# - WCF 在没有 "set "的属性上阻塞。任何解决方法?

我有一些类作为服务方法的结果传递,并且该类有一个只读属性:[DataContract]publicclassErrorBase{[DataMember]publicvirtualstringMessage{get{return"";}}}我在服务端遇到异常:System.Runtime.Serialization.InvalidDataContractException:Nosetmethodforproperty'Message'intype'MyNamespace.ErrorBase'.我必须将这个属性作为唯一的getter,我不能让用户给它赋值。我可以使用任何解决方法吗?还是我缺