草庐IT

c# - 为 WCF 实现接口(interface)时不能使用可选参数

在我的界面中我已经声明了这一点。[OperationContract][WebGet]StringGetStuff(Stringbeep,Stringboop="toolazytotype");我是这样实现的。StringGetStuff(Stringbeep,Stringboop="toolazytotype"){...}它编译并上传为我的WCF服务。但是,当我将它用作Web引用并尝试执行下面的代码时,编译器提示说没有带有单个参数签名的方法。最后一行是问题所在。我怎么能懒得打字默认?ServiceClientclient=newServiceClient();client.GetSt

c# - 如何将类对象转换为字符串?

我有一个来自网络服务(WCF)的类对象。该类具有String类型的属性和一些自定义类类型。如何获取属于自定义类类型的属性的属性名称和属性名称。我尝试使用GetProperies()进行反射,但失败了。如果属性类型是字符串类型,GetFields()给了我一些成功,我还想获取自定义类型属性的属性。这是我的代码。publicstaticstringToClassString(thisobjectvalue){if(value==null)returnnull;varbuilder=newStringBuilder();builder.Append(value.GetType().Name+

c# - WCF 跟踪上未找到配置评估上下文警告

我有一组托管在.NET4应用程序上的WCF服务。我手动创建ServiceHost类并开始监听TCP端口。一切都按预期工作,但在服务器端的WCF跟踪中,我收到以下警告。未找到配置评估上下文。XML跟踪如下:524312304BAROLOhttp://msdn.microsoft.com/it-IT/library/System.ServiceModel.EvaluationContextNotFound.aspxConfigurationevaluationcontextnotfound.Server.Console.vshost.exe知道警​​告的原因吗?谢谢

c# - 如何从工作线程中调用 UI 线程上的方法?

这个问题在这里已经有了答案:关闭11年前。我正在从事一个使用以下技术的项目:C#(.NET4.0)WCFPrism4我目前正在使用代理生成的Begin/End方法对我们的Web服务之一进行异步调用。调用成功,客户端能够在工作线程上接收Web服务的响应。收到响应后,我将继续引发事件。订阅事件的类继续使用PRISM请求UI导航:Application.Current.Dispatcher.BeginInvoke(newAction(()=>this.RegionManager.RequestNavigate(RegionNames.LoginContentRegion,projectSel

c# - 没有参数的 WebGet 或 UriTemplate 失败

我有一个带有以下API的RESTfulWCF网络服务:[WebGet(ResponseFormat=WebMessageFormat.Json)]MyResponseContractGetFileInfo();尝试访问端点(使用SOAPUI)时,我看到以下错误消息:Theserverencounteredanerrorprocessingtherequest.Pleaseseetheservicehelppageforconstructingvalidrequeststotheservice.我将SOAPUI设置为使用GET方法调用来命中它。当我将它切换到没有正文的POST时,它失败并

c# - WCF 客户端 : Forcing Global Namespaces

我正在处理与SOAP服务的接口(interface),该服务似乎不处理默认namespace,但可以很好地处理在SOAP信封级别声明的全局namespace和namespace前缀。问题是WCF不会在根目录下创建这些全局命名空间,而是使用显式的无前缀默认命名空间,而服务显然会阻塞这些默认命名空间。现在我知道这并不是WCF的错——我相信WCF生成的消息是有效的XML,但服务仍然会阻塞它。使用WCF生成的输出如下所示:2016-03-26T01:44:37.0493801Z2RMG-API-G-01ozhckwej6sxgTTT001908905GB这是行不通的。使用以下SOAP信封(在S

c# - 两个 .Net 应用程序之间的高效通信

我目前正在用C#编写一个.Net应用程序,它有两个主要组件:DataGenerator-一个生成大量数据的组件查看器-能够可视化生成器创建的数据的WPF应用程序这两个组件目前在我的解决方案中是两个独立的项目。此外,我正在使用PRISM4.0框架来从这些组件中创建模块。本质上,DataGenerator生成大量数据并使用PRISM的EventAggregator发送事件,Viewer订阅这些事件并为用户显示准备好的数据。现在我的要求略有改变,这两个组件现在将在它们自己的应用程序中运行(但在同一台计算机上)。我仍然希望所有通信都是事件驱动的,我也仍然希望使用PRISM框架。我的第一个想法是

c# - DataMember IsRequired 属性与 Nullable 类型的组合是否矛盾?

我今天在WCF契约(Contract)中遇到了这个:[DataMember(IsRequired=true)]publicDateTime?LastModified{get;set;}IsRequired=True和可为空的DateTime的结果是什么?它们似乎相互矛盾。 最佳答案 如果您想用null初始化它并让用户设置有效日期,这是有意义的。因此在提交之前它可以验证用户输入。这里有一个类似的矛盾可能会回答你的问题。InteractionwithIsRequiredTheDataMemberAttributeattributehas

c# - 构建动态表达式树以过滤集合属性

我正在尝试构建一个lambda表达式,它将与其他表达式组合成一个相当大的表达式树以进行过滤。在我需要按子集合属性进行过滤之前,这工作正常。如何构建一个Lambda表达式,该表达式将使用Any()对作为根对象属性的集合属性进行过滤?例子:CurrentDataSource.Offices.Where(o=>o.base_Trades.Any(t=>t.Name=="test"))这就是我静态构建表达式的方式,但我需要动态构建它。抱歉造成混淆。编辑:这是我如何处理不太复杂的表达式的片段:IQueryableofficeQuery=CurrentDataSource.Offices.AsQu

c# - .NET 框架中是否有针对不同 Web 方法类型(GET、PUT、POST、DELETE、HEAD)的常量?

我刚刚在创建RESTfulWCF服务时注意到WebInvoke属性上的Method参数区分大小写(需要大写)。所以,[WebInvoke(Method="Delete")]不等于[WebInvoke(Method="DELETE")]这个错误导致了ProtocolException:System.ServiceModel.ProtocolException:Theremoteserverreturnedanunexpectedresponse:(405)MethodNotAllowed.我想知道我应该使用.NET框架中的一组常量来代替上面示例中的“DELETE”。我当然可以定义我自己的