草庐IT

wcf-data-services

全部标签

c# - 为什么我不能在同一个类上使用 WCF DataContract 和 ISerializable?

我有一个类需要能够序列化为SQLServersession变量并可通过WCF服务使用。我声明如下namespaceMyNM{[Serializable][DataContract(Name="Foo",Namespace="http://www.mydomain.co.uk")]publicclassFoo:IEntity,ISafeCopy{[DataMember(Order=0)]publicvirtualGuidId{get;set;}[DataMember(Order=1)]publicvirtualstringa{get;set;}DataMember(Order=2)]pu

c# - 在方法/数据成员中对 WCF 添加限制

我是WCF的新手,我尝试对数据成员添加限制。例如在这个方法中:[DataMember]publicstringStringValue{get{returnstringValue;}set{stringValue=value;}}我想设置最大和最小长度。我知道如何将限制添加到XML代码中但是有没有办法直接从代码中添加限制? 最佳答案 根据MSDN,maxLength,minLength和length等被忽略。没有声明的方式来强制执行你的要求,就像我希望的那样。这是.NET和XML世界之间出现裂痕的地方之一。我发现的唯一执行方法是构建一

c# - 配置 .NET WCF UTF-8 反序列化器以修改/丢弃非最短格式字符而不是抛出异常?

我们有一个通过WCF托管的SOAP网络服务。我们偶尔从其中接收数据的客户端之一使用非最短格式对UTF-8进行编码(有关这方面的一些信息,请参阅http://www.unicode.org/versions/corrigendum1.html)。修改客户端并不容易,因为我们的代码没有对这些非最短形式的字符进行编码。相反,我们希望编辑WCF服务以丢弃这些字符,将它们替换为其他占位符字符,甚至接受非最短形式的字符。对于我们的用例,这些中的任何一个都是可以接受的,尽管前一个选项是首选,因为它们减少了任何安全风险。查看堆栈跟踪:System.ServiceModel.Dispatcher.Net

c# - WCF 比运行相同代码的 WebAPI 慢得多

我目前有2个暴露的端点。第一个是WebAPI(.NET4.6)。第二个是WCF(.NET3.5)。它们都能够执行相同的计算,但是WCF平均要慢10倍。有问题的计算代码包含在一个dll中,我们称之为core.dll。此dll还公开WCF端点并由ASP.NET站点使用。webapidll,我们称它为api.dll引用core.dll并由SPA使用。计算可以由任一客户端触发。平均而言,使用我的测试数据,WCF服务执行计算大约需要4.5秒,而WebAPI大约需要450毫秒(或快大约10倍)。我应该注意,所有数据库调用都是在测量的时间范围之外完成的。所有数据都是事先检索的,所有更新都是在计算完成

c# - Service Fabric 包含其他文件

我有一个包含以下内容的VisualStudios解决方案:ServiceFabric项目无状态服务项目无状态服务项目使用基于配置的依赖注入(inject),这意味着依赖与项目本身松散耦合,而不是实际的VS“项目/编译依赖”。我想继续使用VisualStudios,但是当我部署这个项目时,它不知道程序集依赖项(因为这些仅在DI配置中定义),因此它没有打包必要的文件和抛出异常试图执行依赖注入(inject)。在ApplicationManifest.xml文件或VisualStudios提供的其他许多XML文件之一中,我可以指定其他文件(即我的依赖程序集)作为部署的一部分发布到Servic

c# - WCF 错误通信对象 System.ServiceModel.Channels.ServiceChanne 不能用于通信,因为它处于故障状态

我们得到“通信对象System.ServiceModel.Channels.ServiceChannel无法用于通信,因为它处于故障状态。”关闭应用程序时的消息。谁能告诉我如何解决它?我们知道这是试图关闭的通信channel,但由于服务不可用或处于故障状态而无法关闭。我只能说,当服务不可用时,垃圾收集器试图销毁对象,通信对象正在调用其服务关闭函数。我们得到异常。 最佳答案 当您询问有关异常的问题时,您应该发布整个异常,包括所有InnerException实例。你应该捕获异常,显示ex.ToString(),然后用“throw”重新抛

c# - WCF - 让客户端检查服务可用性

这个问题在这里已经有了答案:checktheavailabilityoftheWCFWebService(4个答案)关闭8年前。我有一个客户端-服务器系统,双方都是我写的,我想在服务器断开连接/死机时将客户端置于“离线”状态,然后在服务器断开连接/死机时自动将它们恢复为“在线”状态再次可用。对于第一部分,我监听channel故障事件并通过将客户端设置为离线来处理该事件。然后我开始在服务器上调用“ping”服务(每30秒一次),如果它处于事件状态,它只会返回一个bool值。一旦它还活着,客户端就会得到bool并切换回在线状态。一切正常,我遇到的问题是当客户端调用ping服务并且服务器关闭

c# - SQL 2008 : returning data rows as JSON?

我觉得这个问题就像是射粘土飞鸽..“拉……砰!”..被击落..但尽管如此,我相信还是值得一问。现在很多JS框架等都使用JSON,我知道这是有充分理由的。经典问题是“在哪里将数据转换为JSON”。我知道在管道中的某个时刻,您必须将数据转换为JSON,无论是在数据访问层(我正在查看JSON.NET)还是我相信.NET4.x都有方法输出/序列化为JSON。所以问题是:考虑将SQL函数输出为JSON真的是个坏主意吗?预选赛:我知道尝试像那样输出1000行不是一个好主意——事实上,无论哪种方式对于Web应用程序来说都不是一个好主意,除非你真的必须这样做。根据我的要求,我一次可能需要100行...

c# - ASP.NET MVC3 : Set custom IServiceProvider in ValidationContext so validators can resolve services

2012年12月18日更新由于这个问题似乎有很多观点,我应该指出,接受的答案不是我使用的解决方案,但它确实提供了构建解决方案的链接和资源,但是,对我来说请注意,这不是理想的解决方案。我的回答包含MVC框架标准部分的替换;并且您应该只在您愿意检查它们是否仍适用于future版本时才使用它们(一些私有(private)代码已从官方来源中删除,因为基类中没有足够的可扩展性)。不过,我可以确认这两个类也适用于Asp.NetMVC4和3。也可以为Asp.NetWebAPI框架重复类似的实现,这是我最近完成的。结束更新我的类型有很多“标准”验证(必需等),但也有一些自定义验证。某些验证需要获取服务

c# - 将 WCF 服务转换为 RESTful 应用程序?

嘿,我没有将wcf变成一个Restful服务。所以我想知道当您在这里启动WCF服务应用程序时是否有人可以使用基本代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Runtime.Serialization;usingSystem.ServiceModel;usingSystem.ServiceModel.Web;usingSystem.Text;namespaceWcfService1{//NOTE:Youcanusethe"Rename"commandonthe"Refactor"m