static void Main(string[] args) { // User user = GetUser("Fly"); UserServiceClient client = new UserServiceClient(); WCFUserService.UserServiceClient newClient = new WCFUserService.UserServiceClient(); Service2Callback callback = new Service2Callback(); InstanceContext context = new InstanceContext(callback); Service2.Service2Client service2 = new Service2.Service2Client(context); service2.DoWork(); WCFUserService.User user = new WCFUserService.User(); newClient.GetUser(1,out user); Console.WriteLine(user.Name); Console.WriteLine(newClient.AddUser(new WCFUserService.User { Name = "jinjin", NickName = "yezi" })); Console.WriteLine(client.AddUser(new User { Name = "jingjing", NickName = "yezi" })); var pro = new ChannelFactory<Wcf.IService1>("service1").CreateChannel(); Console.WriteLine(pro.GetData(100)); try { newClient.Div(10, 0); } catch (FaultException<Test.WCFUserService.CalculatorError> ex) { Console.WriteLine(ex.Detail.ErrorMessage); newClient.Abort(); } client.Close(); newClient.Close(); Console.ReadKey(); }
static void UseWcf() { /* 动态下载服务元数据 */ MetadataExchangeClient metaExchangeClient = new MetadataExchangeClient( new Uri("http://localhost:8002/ManualService"), MetadataExchangeClientMode.HttpGet ); //下载元数据 MetadataSet metadataSet = metaExchangeClient.GetMetadata(); WsdlImporter importer = new WsdlImporter(metadataSet); ServiceEndpointCollection endpointCollection = importer.ImportAllEndpoints(); IManulService manulProxy = null; foreach (ServiceEndpoint endPointItem in endpointCollection) { manulProxy = new ChannelFactory<IManulService>( endPointItem.Binding, endPointItem.Address ).CreateChannel(); ((IChannel)manulProxy).Open(); Console.WriteLine("WCF调用结果为:{0}", manulProxy.GetData()); ((IChannel)manulProxy).Close(); } }
public static string GetData(int value) { BasicHttpBinding basicHttpBinding = new BasicHttpBinding(); EndpointAddress endpointAddress = new EndpointAddress("http://localhost:56071/DemoService.svc"); IDemoService demoService = new ChannelFactory<IDemoService>(basicHttpBinding, endpointAddress).CreateChannel(); string serviceResponse = demoService.GetData(value); return serviceResponse; }
public static string GetData(int value, int value2) { BasicHttpBinding basicHttpBinding = new BasicHttpBinding(); EndpointAddress endpointAddress = new EndpointAddress("http://localhost:56071/ADMCompletedDemoService.svc"); IADMCompletedDemoService service = new ChannelFactory< IADMCompletedDemoService >(basicHttpBinding, endpointAddress).CreateChannel(); var serviceResponse = service.GetData(value, value2); return serviceResponse; }