上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 23 下一页
摘要: using System; using System.ComponentModel.DataAnnotations; using System.Data.Entity; namespace Zwj.TEMS.Base { /// /// 唯一性标识 /// [AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)] public class UniqueAttribute : ValidationAttribute { protected string tableName; protected string filedName; public UniqueAttribute(string tableName, string filedName) { this.tab 阅读全文
posted @ 2015-04-01 17:42 梦在旅途 阅读(2794) 评论(0) 推荐(1)
摘要: 对于Client来说,它实际上不能和Service进行直接交互,它只能通过客户端创建的Proxy来间接地和Service进行交互,然而真正的调用而是通过服务实例来进行的。我们把通过Client的调用来创建最终的服务实例过程称作激活,在.NET Remoting中包括Singleton模式、SingleCall模式和客户端激活方式,WCF中也有类似的服务激活方式:单调服务(PerCall)、会话服务(PerSession)和单例服务(Singleton)。 阅读全文
posted @ 2015-03-26 13:56 梦在旅途 阅读(3420) 评论(0) 推荐(2)
摘要: 一、服务契约(包括回调契约)通过指定不同的OperationContract.Name来实现重载方法,当然代码部份还是必需符合C#的重载要求,即相同方法名称,不同的参数个数或参数类型 namespace Contract { [ServiceContract(Name = "HellworldService", Namespace = "http://www.zuowenjun.cn")] public interface IHelloWorld { [OperationContract(Name = "GetHelloWorldWithoutParam")] string GetHelloWorld(); [OperationContract(Name = "GetHelloWorldWithParam")] string GetHelloWorld(string name); } 阅读全文
posted @ 2015-03-25 21:19 梦在旅途 阅读(593) 评论(0) 推荐(0)
摘要: 在WCF中,提供了专门用来序列化和反序列操作的类,该类就是DataContractSerializer类。一般而言,WCF会自动选择使用DataContractSerializer来对可序列话数据契约进行序列化,不需要开发者直接调用。WCF除了支持DataContractSerializer类来进行序列化外,还支持另外两种序列化器,这两种序列化器分别为:XMLSerializer(定义在System.XML.Serialization namespace)和NetDataContractSerializer (定义在System.XML.Serialization namespace)。XmlSerializer类不是WCF专用的类,Asp.net Web服务统一使用该类作为序列化器,但XmlSerializer类支持的类少于DataContractSerializer列支持的类型,但它允许对生成的XML进行更多的控制,并且支持更多的XML架构定义语言(XSD)标准。它不需要在可序列化类上有任何声明性的属性。 阅读全文
posted @ 2015-03-25 21:15 梦在旅途 阅读(984) 评论(0) 推荐(0)
摘要: 学习与强化在双工模式下WCF服务创建与使用,步骤与代码如下。 第一步,定义服务契约(Service Contract),注意ServiceContract特性上需指定回调契约 //服务契约 using System.ServiceModel; namespace WcfServiceLibrary1 { [ServiceContract(Namespace = "http://wwww.zuowenjun.cn", CallbackContract = typeof(ICallback))] public interface IHello { [OperationContract(IsOneWay = true)] void SetName(string name); } } //回调契约(由于回调契约本质也是一个服务契约,所以定义方式和一般意义上的服务契约基本一样。 有一点不同的是,由于定义服务契约时候已经通过[Ser 阅读全文
posted @ 2015-03-25 21:12 梦在旅途 阅读(3202) 评论(0) 推荐(0)
摘要: 不说废话,直接上代码。以下服务创建是在独立的WCF类库中,若采用WCF应程程序,定义及创建服务代码均相同,但文件名不同,是CalculatorService.svc 第一步,定义服务契约(Service Contract),即:定义一个服务接口 using System.ServiceModel; namespace WcfServiceLibrary1 { [ServiceContract(Namespace="http://www.zuowenjun.cn")] public interface ICalculator { [OperationContract] double Add(double x, double y); [OperationContract] double Subtract(double x, double y); [OperationContract] double Multiply(double x, 阅读全文
posted @ 2015-03-25 21:04 梦在旅途 阅读(478) 评论(0) 推荐(0)
摘要: 不说废话,直接上代码。以下服务创建是在独立的WCF类库中,若采用WCF应程程序,定义及创建服务代码均相同,但文件名不同,是CalculatorService.svc 第一步,定义服务契约(Service Contract),即:定义一个服务接口 using System.ServiceModel; namespace WcfServiceLibrary1 { [ServiceContract(Namespace="http://www.zuowenjun.cn")] public interface ICalculator { [OperationContract] double Add(double x, double y); [OperationContract] double Subtract(double x, double y); [OperationContract] double Multiply(double x, 阅读全文
posted @ 2015-03-25 20:54 梦在旅途 阅读(403) 评论(0) 推荐(0)
摘要: 通过LINQ表达式树动态构建查询条件 第一种方法:PredicateExtensions 第二种方法:PredicateBuilder 注意,经我实际应用,发现第一种方法PredicateExtensions类有个缺陷,就是仅适合在DbDataContext中使用,若用在EntityContext中,则会报错:LINQ to Entities 不支持 LINQ 表达式节点类型“Invoke”。而使用第二种方法则不会有这个问题,至于问题的根源我还没有找到原因,还望高手指教,谢谢! 阅读全文
posted @ 2015-03-20 22:20 梦在旅途 阅读(1889) 评论(0) 推荐(1)
摘要: EF封装类 增加版,增加从缓存中查找数据方法,供参考! 这个类是抽象类,我这里增加了需要子类验证的方法ValidateEntity,方便扩展,若想直接使用该类,可以将该类更改成静态类,里面所有的方法都改成静态方法就可以直接调用了,可能有不足之处,欢迎大家在本文下面评论留言,共同完善,谢谢! 阅读全文
posted @ 2015-02-07 11:15 梦在旅途 阅读(1585) 评论(2) 推荐(0)
摘要: 如果服务地址不确定或后期有可能会变动,则采用通过Get、Post、Soap动态调用WebService的方法会比较好,当然如果服务地址不会出现变更的情况下,可以在VS中直接引用WEB服务,然后就可调用自动生成的SOAPClient类来调用相应的WEB服务方法,这样就简单很多 阅读全文
posted @ 2015-02-02 13:42 梦在旅途 阅读(8158) 评论(2) 推荐(1)
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 23 下一页