首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏深入浅出区块链技术

    如何编写一个可升级的智能合约

    dataContract; function ControlContract(address _dataContractAddr) public { dataContract return dataContract.balanceOf(addr) + 11; } } 现在我们有两个合约DataContract 专门用来存数据,ControlContract用来处理逻辑 ,并利用DataContract来读写数据。 DataContract添加读写控制。 部署方法如下: 先部署DataContract合约 使用DataContract合约地址作为部署ControlContract合约的参数 用ControlContract合约地址作为参数调用DataContract

    1.5K10发布于 2018-07-23
  • 来自专栏大内老A

    谈谈WCF中的Data Contract(2):WCF Data Contract对Generic的支持

    并 namespace Artech.SpecialDataContract.Contract {     [DataContract]     public class Bill<THeader, TDetail  }         [DataMember]         public IList<TDetail> DetailList         { get; set; }     }     [DataContract > <xs:schema elementFormDefault="qualified" targetNamespace="http://schemas.<em>datacontract</em>.org/2004/07/ 那就是显示指定Data Contract的Name: [<em>DataContract</em>(Name="OrderBill")]     public class Bill<THeader, TDetail>      这无疑在.NET中是合法的,但是对于DataContract有有可能出现命名冲突。 这也就是为什么WCF默认机制下会为Data Contract Name添加一个额外hash value的原因。

    1K70发布于 2018-01-16
  • 来自专栏后端开发从入门到入魔

    智能合约设计模式:讲解代理模式及其安全漏洞(已删除侵权内容版本)

    // 控制器合约 contract NamespaceController { DataContract private dataContract; constructor(address _dataContract) { dataContract = DataContract(_dataContract); } // 通过控制器合约访问数据合约来获取数据并进行逻辑处理 // 数据合约 contract DataContract { uint256 private data; // 仅允许控制器合约访问写操作 function setData // 创建数据合约实例 dataContract = new DataContract(); // 创建命名空间控制器合约实例,并传入数据合约地址 namespaceController = new NamespaceController(address(dataContract)); } // 获取数据合约地址

    56510编辑于 2024-03-28
  • 来自专栏dotnet & java

    WCF入门(6)

    wsdl 来看看: 搜索datacontract  ?  然后在地址栏里面输入后面的schemaLocation的值 http://localhost:8080/? 上面说了我们可以通过给一个类加Serializable或者是DataContract特性来显式标记一个需要序列化的类,下面我们来看看这两种方式有什么不同。 再看看用DataContract的效果: ? 由于我们只给类标记了DataContract特性,没有任何字段被序列化了。。。(因为没有序列化字段,客户端在调用这个类的时候也是无法获取到对应的属性的。 如图: ) 其实,DataContract应该是和DataMember配合使用。并且,这也是WCF推荐的做法。下面我们来实现一个。 总结一下,用DataContract 和 DataMember来控制我们需要序列化的对象。 下面还有KnowTypeAttribute的知识点,貌似有不少东西好写,还是另开一篇吧。。。

    58220发布于 2018-08-24
  • 来自专栏木宛城主

    Thinking In Design Pattern——探索SOA在企业应用程序中扮演的角色

    服务层的定义 Domain Model的设计与实现 IRepository的设计与实现 Document Message模式和Request-Response模式的探索 DataContract的设计与实现 DataContract:该项目包含消息的DTO(传给客户的数据),使用了Document Message消息传送模式来交换数据。 HTTPHost:该项目用来承载WCF服务。 DataContract的设计与实现 DataContract项目存放着服务工作流中涉及的所有DTO对象,因为将使用WCF模型来暴露服务,所以添加相关的特性(Attribute)来修饰属性进行序列化。 所以的响应对象都继承自某个包含一些公共行为的基类Response: [DataContract] public abstract class Response { [DataMember DataMember] public int NoOfTickets { get; set; } } ReserveTicketResponse同样继承于Response: [DataContract

    1.3K50发布于 2018-01-11
  • 来自专栏大内老A

    谈谈WCF中的Data Contract(3):WCF Data Contract对Collection & Dictionary的支持

    在这里我们创建一个批量处理Order的Service,于是我们创建了一个OrderCollection Type: namespace Artech.SpecialDataContract.Contract {     [DataContract > <xs:schema elementFormDefault="qualified" targetNamespace="http://schemas.<em>datacontract</em>.org/2004/07/ Artech.SpecialDataContract.Contract"     xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.<em>datacontract</em>.org xsd=xsd2" namespace="http://schemas.<em>datacontract</em>.org/2004/07/Artech.SpecialDataContract.Contract"/>    guid"/>             <xs:element name="Value" nillable="true" type="q1:Order" xmlns:q1="http://schemas.<em>datacontract</em>.org

    941110发布于 2018-01-16
  • 来自专栏dotnet & java

    WCF入门 (14)

    第14集 实现IExtensibleDataObject接口所冒的风险 Risks of implementing IExtensibleDataObject interface 上一集,我们给DataContract 最简单的,DataContract类不实现IExtensibleDataObject接口,或者说移除DataContract类的IExtensibleDataObject接口实现,这样做可以是可以,但是假如我们有很多个 DataContract都实现了这个接口,那么就要所有的都移除,比较麻烦。

    36020发布于 2018-08-24
  • 来自专栏dotnet & java

    WCF入门(12)

    { return String.Format("name= {0}, id= {1}", emp.Name, emp.Id); } 因为要试验当一个DataContract 下面是Employee的定义: [DataContract] public class Employee { [DataMember(IsRequired = true //[DataMember(IsRequired = true)] //public string City { get; set; } } 注意, Emploee类要用DataContract [DataContract] public class Employee { [DataMember(IsRequired = true)] public [Serializable] [DataContract(Name = "Employee", Namespace = "http://schemas.datacontract.org/2004

    66710发布于 2018-08-24
  • 来自专栏技术博客

    Asp.Net Web API 2第十三课——ASP.NET Web API中的JSON和XML序列化

    只读属性不作序列化 类名和成员名按类声明中的确切呈现写入XML 使用XML的默认命名空间 如果需要在序列化上的更多控制,可以用DataContract注解属性修饰类。 要改变XML命名空间,请设置DataContract类中的Namespace参数。 Read-Only Properties——只读属性 只读属性是不被序列化的。 这种办法需要在类上使用DataContract注解属性。 较简单的选项是对模型类添加[DataContract(IsReference=true)]。IsReference参数启用了对象引用。 记住,DataContract构成了序列化的“选入(Opt-in)”,因此,你还需要对属性添加DataMember注解属性: [DataContract(IsReference=true)] public

    3.1K30发布于 2018-08-31
  • 来自专栏dotnet & java

    WCF入门(11)

    第11集 Difference between DataContract and MessageContract in WCF(WCF中DataContract 和 MessageContract 的区别 通过DataContract 特性,我们对soap message的内容格式控制是非常有限的, image.png ?

    43140发布于 2018-08-24
  • 来自专栏大内老A

    WCF技术剖析之十四:泛型数据契约和集合数据契约(上篇)

    1: namespace Artech.DataContractSerializerDemos 2: { 3: [DataContract(Namespace="http://www.artech.com 1: namespace Artech.DataContractSerializerDemos 2: { 3: [DataContract(Namespace="http://www.artech.com 1: namespace Artech.DataContractSerializerDemos 2: { 3: [DataContract(Name="OrderHeader")] 1: namespace Artech.DataContractSerializerDemos 2: { 3: [DataContract(Name="OrderBill")] 1: namespace Artech.DataContractSerializerDemos 2: { 3: [DataContract] 4: public class

    1.6K90发布于 2018-01-16
  • 来自专栏喵叔's 专栏

    详解C# 序列化和反序列化

    DataContractJsonSerializer 位于命名空间 System.Runtime.Serialization.Json 下,它的特点是必须使用 DataContract 以及 DataMember using System.Runtime.Serialization; using System.Runtime.Serialization.Json; 引入命名空间后我们开始编写序列化类 [DataContract 一旦一个类被声明为 DataContract 时就代表着该类可以被序列化,并且可以在服务端和客户端传输。 只有声明为DataContract的类型的对象可以被传送,且只有成员属性会被传递,成员方法不会被传递。 JavaScriptSerializer 我们利用前面定义的类,来看一下 JavaScriptSerializer 的使用方法,我们将前面定义的类中的 DataContract 和 DataMember

    4.9K20发布于 2020-09-08
  • 来自专栏大内老A

    WCF技术剖析之十二:数据契约(Data Contract)和数据契约序列化器(DataContractSerializer)

    1: namespace Artech.DataContractSerializerDemos 2: { 3: [DataContract] 4: public class OrderBase 1: namespace Artech.DataContractSerializerDemos 2: { 3: [DataContract(Namespace="http://www.artech.com 1: public class OrderCollection : List<Order> 2: { } 3:  4: [DataContract] 5: public class Order 1: namespace Artech.DataContractSerializerDemos 2: { 3: [DataContract] 4: public class Customer 5 1: [DataContract(IsReference = true)] 2: public class Address 3: { 4: //类型成员 5: }

    2.1K90发布于 2018-01-16
  • 来自专栏大内老A

    谈谈WCF中的Data Contract(4):WCF Data Contract Versioning

    System.Text; using System.Runtime.Serialization; namespace Artech.DataContractVersioning.Service {     [DataContract Client端: Data Contract [DataContract(Name="Order",Namespace="http://artech.datacontractversioning")]         }     } } 通过上面的分析,我们可以知道,尽管就CLR Type的定义来讲,Service端的Order和Client端的CustomOrder具有很大的差异,但是通过WCF Datacontract Custom添加一个新的成员,ShippingAddress,通过重写ToString方法: namespace Artech.DataContractVersioning.Client {     [DataContract     } } 现在我们来重新定义Service的Order Data Contract: namespace Artech.DataContractVersioning.Service {     [DataContract

    1.1K60发布于 2018-01-16
  • 来自专栏大内老A

    WCF技术剖析之十六:数据契约的等效性和版本控制

    1: [DataContract(Namespace = "http://www.artech.com/")] 2: public class Customer 3: { 4: [DataMember 1: [DataContract(Name = "Customer", Namespace = "http://www.artech.com")] 2: public class CustomerV1 1: [DataContract(Name = "Customer", Namespace = "http://www.artech.com")] 2: public class CustomerV2 1: [DataContract(Name = "Customer", Namespace = "http://www.artech.com")] 2: public class CustomerV2 1: [DataContract(Name = "Customer", Namespace = "http://www.artech.com")] 2: public class CustomerV1

    1.3K100发布于 2018-01-16
  • 来自专栏技术小讲堂

    WCF中的集合类型

    CollectionDataContract特性 前面所示的编组为具体类型的机制并不理想,原有有三 它要求集合必须可序列化,而不是使用DataContract特性。 string Namespace { get; set; } public string ValueName { get; set; }     } CollectionDataContract和DataContract 注意,不能同时将DataContract和CollecctionDataContract应用到集合类型上,在装载服务的时候同样会检查这一点。

    1.3K60发布于 2018-03-07
  • 来自专栏菩提树下的杨过

    ExtJs学习笔记(3)_GridPanel[XML做数据源]

    结合WCF动态读取 1.WCF端关键代码 定义一个可序列化的类(当然也可以是Linq to Sql中自动生成的类,不过要手动加DataContract和DataMember标记,以满足WCF的数据契约要求 )  [DataContract] public class Book      {         [DataMember] public string ISBN;         [DataMember GetXmlData"其它的几乎没变化,运行之后,用Web Development Helper插件监测到GetXmLData返回的内容为: <ArrayOfBook xmlns="http://schemas.<em>datacontract</em>.org

    1.1K80发布于 2018-01-24
  • 来自专栏stcnb

    CA2311:在未先设置 NetDataContractSerializer.Binder 的情况下,请不要反序列化

    伪代码示例 冲突 using System; using System.IO; using System.Runtime.Serialization; [DataContract] public class public string Title { get; set; } [DataMember] public AisleLocation Location { get; set; } } [DataContract violation } } } Imports System Imports System.IO Imports System.Runtime.Serialization <DataContract Property Title As String <DataMember()> Public Property Location As AisleLocation End Class <DataContract

    1.6K00编辑于 2022-02-20
  • 来自专栏技术小讲堂

    使用WCF进行跨平台开发之三(JAVA调用WCF服务)1.开发必备2.生成WCF客户端3.开发程序4.结束语

    5.新建测试文件test.java import org.datacontract.schemas._2004._07.contracts.*; import com.microsoft.schemas */ public static void main(String[] args) { //使用ObjectFactory帮助生成实体类对象 org.datacontract.schemas ._2004._07.contracts.ObjectFactory factory=new org.datacontract.schemas._2004._07.contracts.ObjectFactory

    1.8K50发布于 2018-03-07
  • 来自专栏liulun

    SilverLight企业应用框架设计【四】实体层设计+为客户端动态生成服务代理(自己实现RiaService)

    下面来看一下实体层MenuM的代码 namespace RTMDemo.Model { [DataContract] public class MenuM : Entity { MenuName", value); _OrderNum = value; } } } } 这里有几点需要说明 1: 特性[DataContract Entity类的 那么我们就创建了这个类(就是Attr文件夹下的 Entity.cs类) namespace System.ServiceModel.DomainServices.Client { [DataContract var content = sr.ReadToEnd(); var matche = Regex.Match(content, @"\[DataContract WriteToTar("实体", sb.ToString()); } 此端代码大意为: 遍历实体类库文件夹内的文件, 读取文件名以M结尾的文件(约定实体类名必须以M结尾) 然后按正则匹配[DataContract

    98430编辑于 2022-05-09
领券