动态创建客户端端代理代码

来源:互联网 发布:java笔试题目 编辑:程序博客网 时间:2024/05/17 21:00
using System;using System.Collections.Generic;using System.Text;using System.CodeDom;using System.CodeDom.Compiler;using System.IO;using System.Reflection;using System.ServiceModel;using System.ServiceModel.Channels;using System.ServiceModel.Description;Uri uri = new Uri("http://localhost:8080/calc");MetadataExchangeClient client = new MetadataExchangeClient(uri, MetadataExchangeClientMode.HttpGet);MetadataSet metadata = client.GetMetadata();WsdlImporter importer = new WsdlImporter(metadata);CodeCompileUnit ccu = new CodeCompileUnit();CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp");ServiceContractGenerator generator = new ServiceContractGenerator(ccu);foreach (ContractDescription description in importer.ImportAllContracts()){    generator.GenerateServiceContractType(description);}StringWriter writer = new StringWriter();provider.GenerateCodeFromCompileUnit(ccu, writer, null);string code = writer.ToString();File.WriteAllText("proxy.cs", code, Encoding.Default);

原创粉丝点击