草庐IT

c# - 在 WCF 服务中公开 webHttpBinding 终结点

我创建了一个WCF服务并公开了三个端点,它们是basicHttpBinding、wsHttpBinding和webHttpBinding。这是我使用WCF进行实验的测试服务。但是,每当我使用.svc文件添加服务引用时,我只会得到两个(基本和ws)端点。由于某种原因,似乎没有公开第三个(webHttpBidning)端点。要重现此问题,请创建一个WCF应用程序项目,删除Service1服务,添加名为TestService的新项目>WCF服务,并将配置文件更改为以下内容:这里是ITestService.cs的代码:[ServiceContract]publicinterfaceITestS

c# - WCF DataContract 与 DataContract 接口(interface)

WCF新手。DataContact类可以继承自Interface吗?例如:[DataContract(Namespace=...........)]publicclassVesselSequence:IVesselSequence{[DataMember]publicintAllocationId{get;set;}[DataMember]publicstringScenarioName{get;set;}}interfaceVesselSequence:IVesselSequence{publicintAllocationId{get;set;}publicstringScenari

c# - WCF 服务默认值

我的WCF服务有以下数据协定类:[DataContract(Name="MyClassDTO")]publicclassMyClass{privatestringname="DefaultName";[DataMember]publicstringName{get{returnname;}set{name=value;}}}当我使用VisualStudio的添加服务引用函数生成WCF服务引用时,生成的DataContract看起来像这样:[System.Diagnostics.DebuggerStepThroughAttribute()][System.CodeDom.Compiler

c# - wcf 配置文件与代码配置的优缺点

我有一个自托管的C#WCF服务,它为各种目的创建了20多个端点。每个都在代码本身中配置,并在服务的app.config中使用一些基本配置项,例如端口和地址。该服务非常适合经过测试的客户,但尚未经过广泛测试。我对标准的wcf配置文件方法有点担心,因为我担心最终用户会把事情搞砸,因此在代码中做所有事情。在配置文件中进行配置是否更好,因为最终用户可以根据自己的需要对其进行自定义,或者代码内方法是否足以满足大多数需求? 最佳答案 WCF的主要优势之一是从代码中抽象出连接细节。如果您需要更改任何服务参数,可以更轻松地从web.config进行

c# - WCF 调用在 Fiddler On 时工作,否则在调试时给出 400 Bad Request

未解决-仍在寻找解决方案。我正在进行WCF调用并传递SAMLtoken:UsingSAMLtokenwithWebService(wsdl)privatestaticstringserviceEndpoint="httpsserviceendpoint";publicstaticvoidCallProviderService(SecurityTokentoken){varbinding=newWS2007FederationHttpBinding(WSFederationHttpSecurityMode.TransportWithMessageCredential);binding.S

c# - WCF ChannelFactory 状态属性

ChannelFactory拥有State属性意味着什么?我知道创建的channel可以具有基于连接的状态。但是我很困惑为什么ChannelFactory也有这样的连接状态。它也连接到WCF服务吗? 最佳答案 一个ChannelFactory对象有一个State因为它是一个CommunicationObject,并且WCF中的所有CommunicationObjects都有一个状态。当然,这只是在回避问题,并没有真正的帮助。真正的问题归结为两部分为什么ChannelFactory派生自CommunicationObjectState

c# - 以编程方式使用证书身份验证配置 WCF 服务客户端

如何在C#中以编程方式使用证书身份验证设置ServiceClient?而且我不想使用.config。using(varsrv=GetServiceInstance()){srv.DoStuff()}privateTheServiceClientGetServiceInstance(){varservice=newTheServiceClient(CreateWsHttpBinding(),CreateEndpointAdress());returnservice;}privatestaticWSHttpBindingCreateWsHttpBinding(){varwsHttpBind

c# - 使用 WCF 的双向通信

我正在设计一个使用WindowsCommunicationFoundation实现的客户端-服务器架构。在其中一个用例中,服务器需要请求客户端的状态,这意味着它需要调用上的SendStatus()方法>client并询问其状态。我只是想知道这个用例是否可以使用WCF实现,而无需在客户端创建独立服务。我试图避免套接字,因为客户端是后台服务,并且基本上总是连接到服务器。我知道WCF最终使用套接字进行通信,但我特别尝试使用WCF,因为这更像是概念证明。我想到的解决方法是客户端可以调用服务器上的SendClientStatus()方法并每5秒左右发送一次它的状态。但话又说回来,这似乎不是一个好

c# - 展开 WCF 数据服务 (OData) 的投影(选择)

假设我有一个如下所示的OData查询(我的实际查询要复杂得多):Orders.Select(z=>new{z.SubOrder.Addresses,z.SubOrder.Cost,z.SubOrder.SubOrderId,z.Sequence});这很好用。除了Address对象上有一个子对象(StateRef)。由于StateRef在State表上进行查找,因此它返回为null。为了说明,下面是地址对象Address的外观示例:Address:stringStreet1stringStreet2StateRefPrimaryStatestringCity//...42otherst

c# - 将 WCF 属性应用于服务中的所有方法

我有一个自定义属性,我想将其应用到我的WCF服务中的每个方法。我是这样进行的:[MyAttribute]voidMyMethod(){}问题是我的服务包含数百个方法,我不想在所有方法之上写[Attribute]。有没有办法将该属性应用于我服务中的所有方法?这是我的属性签名://[AttributeUsage(AttributeTargets.Class)]publicclassSendReceiveBehaviorAttribute:Attribute,/*IServiceBehavior,*/IOperationBehavior在Aliostad回答后编辑:我试过这个:publicv