#region using System; using System.Configuration; using System.Net; using System.ServiceModel; using System.Text; using System.Windows.Forms; using CSFrameworkV5.Core; using CSFrameworkV5.Core.Common; using CSFrameworkV5.WCFContract; using CSFrameworkV5.WCFTester.MyMessageWCF; using CSFrameworkV5.WebRef; using ICommonService = CSFrameworkV5.WCFContract.ICommonService; #endregion namespace CSFrameworkV5.WCFTester { public partial class frmTester : Form { public frmTester() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { try { //string uri = "net.tcp://localhost:8585/CommonService"; var uri = txtUrl.Text; //BindingType _BindingType = BindingType.NetTcpBinding; var _BindingType = (BindingType)Enum.Parse(typeof(BindingType), txtProtocal.Text); var svc = WCFInvokeContext.CreateWCFService(uri, _BindingType); (svc as ICommunicationObject).Open(); var user = new Loginer(); user.Account = "admin"; user.DBID = "Normal"; user.Password = "3H0hVJsk1255KgahWKTyGA=="; var loginTicket = WebServiceSecurity.EncryptLoginer(user); var ss = svc.GetDataSN(loginTicket, "AA", true); ShowResult(ss); } catch (Exception ex) { ShowResult(ex.Message); } } private void button10_Click(object sender, EventArgs e) { //登录信息 var loginTicket = GetLoginer(); //透明代理工厂动态创建WCF接口 var svc = WCFFactory.CreateCertificate(txtUrl.Text); //调用WCF接口,获取单据号码 var no = svc.GetDataSN(loginTicket, "AA", true); ShowResult(no); //关闭WCF (svc as ICommunicationObject).Close(); } private void button11_Click(object sender, EventArgs e) { //登录信息 var loginTicket = GetLoginer(); var svc = new CommonServiceClient(); //Windows身份认证信息 var identity = new NetworkCredential(GetUserName(), GetPassword()); svc.ClientCredentials.Windows.ClientCredential = identity; //调用WCF接口,获取单据号码 var no = svc.GetDataSN(loginTicket, "AA", true); ShowResult(no); svc.Close(); } private void button12_Click(object sender, EventArgs e) { //登录信息 var loginTicket = GetLoginer(); //透明代理工厂动态创建WCF接口 var svc = WCFFactory.CreateWindows(txtUrl.Text); //调用WCF接口,获取单据号码 var no = svc.GetDataSN(loginTicket, "AA", true); ShowResult(no); //关闭WCF (svc as ICommunicationObject).Close(); } private void button13_Click(object sender, EventArgs e) { //登录信息 var loginTicket = GetLoginer(); //透明代理工厂动态创建WCF接口 var svc = WCFFactory.CreateCertificate(txtUrl.Text); //调用WCF接口,获取单据号码 var no = svc.GetDataSN(loginTicket, "AA", true); ShowResult(no); //关闭WCF (svc as ICommunicationObject).Close(); } private void button14_Click(object sender, EventArgs e) { //登录信息 var loginTicket = GetLoginer(); //透明代理工厂动态创建WCF接口 var svc = WCFFactory.CreateWindows(txtUrl.Text); //调用WCF接口,获取单据号码 var no = svc.GetDataSN(loginTicket, "AA", true); ShowResult(no); //关闭WCF (svc as ICommunicationObject).Close(); } private void button2_Click(object sender, EventArgs e) { var user = new Loginer(); user.Account = "admin"; user.DBID = "Normal"; user.Password = "3H0hVJsk1255KgahWKTyGA=="; var loginTicket = WebServiceSecurity.EncryptLoginer(user); try { var myBinding = new WSHttpBinding( "wsHttpBinding"); //根据后台的binding名字选中后台的binding var myEndpoint = new EndpointAddress( new Uri(txtUrl.Text)); var myChannelFactory = new ChannelFactory(myBinding, myEndpoint); var client = myChannelFactory.CreateChannel(); var res = client.Language_GetData(loginTicket); myChannelFactory.Close(); ShowResult("res.Length=" + res.Length.ToStringEx()); } catch (Exception ex) { ShowResult(ex.Message); } } private void button3_Click(object sender, EventArgs e) { var loginTicket = GetLoginer(); var svc = new MyCommonService.CommonServiceClient(); //调用WCF接口,获取单据号码 var no = svc.GetDataSN(loginTicket, "AA", true); ShowResult(no); svc.Close(); } private void button4_Click(object sender, EventArgs e) { //byte[] loginTicket = WebServiceSecurity.GetLoginTicket(); var loginTicket = GetLoginer(); var svc = WCFFactory.Create(txtUrl.Text); var data = svc.GetDataDictByDBTableName(loginTicket, "sys_ModuleFileList", "Normal"); //var res = svc.GetLanguageTypeData(loginTicket); //ShowResult("res.Length=" + res.Length.ToStringEx()); ShowResult("data.Length=" + data.Length.ToStringEx()); var ss = WCFFactory.Create(txtUrl.Text); (ss as ICommunicationObject).Close(); } private void button5_Click(object sender, EventArgs e) { //登录信息 var loginTicket = GetLoginer(); var svc = new ServiceReference1.CommonServiceClient(); svc.ClientCredentials.UserName.UserName = GetUserName(); svc.ClientCredentials.UserName.Password = GetPassword(); //调用WCF接口,获取单据号码 var no = svc.GetDataSN(loginTicket, "AA", true); ShowResult(no); svc.Close(); } private void button6_Click(object sender, EventArgs e) { //登录信息 var loginTicket = GetLoginer(); //透明代理工厂动态创建WCF接口 var svc = WCFFactory.CreateBasic(txtUrl.Text); //调用WCF接口,获取单据号码 var no = svc.GetDataSN(loginTicket, "AA", true); ShowResult(no); //关闭WCF (svc as ICommunicationObject).Close(); } private void button7_Click(object sender, EventArgs e) { //登录信息 var loginTicket = GetLoginer(); var svc = new ServiceReference1.CommonServiceClient(); //Windows身份认证信息 var identity = new NetworkCredential(GetUserName(), GetPassword()); svc.ClientCredentials.Windows.ClientCredential = identity; //调用WCF接口,获取单据号码 var no = svc.GetDataSN(loginTicket, "AA", true); ShowResult(no); svc.Close(); } private void button8_Click(object sender, EventArgs e) { //登录信息 var loginTicket = GetLoginer(); //透明代理工厂动态创建WCF接口 var svc = WCFFactory.CreateWindows(txtUrl.Text); //调用WCF接口,获取单据号码 var no = svc.GetDataSN(loginTicket, "AA", true); ShowResult(no); //关闭WCF (svc as ICommunicationObject).Close(); } private void button9_Click(object sender, EventArgs e) { //登录信息 var loginTicket = GetLoginer(); var svc = new ServiceReference1.CommonServiceClient(); //调用WCF接口,获取单据号码 var no = svc.GetDataSN(loginTicket, "AA", true); ShowResult(no); svc.Close(); } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { } private void Form1_Load(object sender, EventArgs e) { } private void frmTester_Load(object sender, EventArgs e) { txtProtocal.Text = "NetTcpBinding"; } private byte[] GetLoginer() { //KeyProvider.Default = new KeyProviderRijndael("%SaFz$^p", "3aW%^&Fd"); var user = new Loginer(); user.Account = "admin"; user.DBID = "Normal"; //user.Password = "Snj6+Q3dGGb1ukbEi0igFw==";//阿里云服务器 user.Password = "WndJDtJTofFSG7+w+iK2hw=="; //本地SQL服务器 var loginTicket = WebServiceSecurity.EncryptLoginer(user); return loginTicket; } private static string GetPassword() { var pwd = ConfigurationManager.AppSettings["Windows_Password"]; return KeyProvider.Default.Decrypt(pwd); } private static string GetUserName() { var name = ConfigurationManager.AppSettings["Windows_UserName"]; return KeyProvider.Default.Decrypt(name); } private void ShowResult(string ss) { var sb = new StringBuilder(txtResult.Text); sb.AppendLine(ss); txtResult.Text = sb.ToStringEx(); txtResult.ScrollToCaret(); } } }