219 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			219 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | |
| using System.Linq;
 | |
| using System.Collections.Generic;
 | |
| using System.Text;
 | |
| using System.Xml.Linq;
 | |
| using System.Reflection;
 | |
| using System.ServiceModel;
 | |
| using System.ServiceModel.Channels;
 | |
| using System.Runtime.Serialization;
 | |
| using System.Xml;
 | |
| using System.IO;
 | |
| using DeiNiu.Wms.CE.Util;
 | |
| using DeiNiu.Wms.CE.utils;
 | |
| 
 | |
| namespace DeiNiu.Wms.CE
 | |
| {
 | |
|     public static class LoginInfo
 | |
|     {
 | |
|         public static int UserId { get; set; }
 | |
| 
 | |
|         public static string Password { get; set; }
 | |
| 
 | |
|         public static string Token { get; set; }
 | |
| 
 | |
|         public static string Account { get; set; }
 | |
| 
 | |
| 
 | |
|         public static bool IsRemember { get; set; }
 | |
|     }
 | |
|     class WcfHelp
 | |
|     {
 | |
|         //static string url = Assembly.GetExecutingAssembly().GetName().CodeBase.Substring(0, Assembly.GetExecutingAssembly().GetName().CodeBase.LastIndexOf('\\') + 1) + "settings.xml";
 | |
|        // static XDocument doc = XDocument.Load (url);
 | |
|         //static string host;
 | |
|         //static string port;
 | |
|         static string svrUrl;
 | |
|         static string iniFile = Assembly.GetExecutingAssembly().GetName().CodeBase.Substring(0, 
 | |
|             Assembly.GetExecutingAssembly().GetName().CodeBase.LastIndexOf('\\') + 1) + "host.ini";
 | |
|         public static string iniHostPort;
 | |
| 
 | |
|         static string getPath()
 | |
|         {
 | |
|             return Assembly.GetExecutingAssembly().GetName().CodeBase.Substring(0,
 | |
|             Assembly.GetExecutingAssembly().GetName().CodeBase.LastIndexOf('\\') + 1);
 | |
|         }
 | |
|         public static void updateConfig(string newHost, string newPort)
 | |
|         {
 | |
|           /*  try
 | |
|             {
 | |
|                 svrUrl = "";
 | |
|                 string Path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase.ToString()) + "\\settings.xml";
 | |
|                 XmlDocument Doc = new XmlDocument();
 | |
|                 Doc.Load(Path);
 | |
|                 XmlNode ip = (XmlNode)Doc.SelectSingleNode("/Root/Host");
 | |
|                 ip.InnerText = newHost +":" +newPort;
 | |
|                 Doc.Save(Path);
 | |
|                // return true;
 | |
|             }
 | |
|             catch(Exception e)
 | |
|             {
 | |
|                 throw e;
 | |
|                // return false;
 | |
|             }
 | |
|             */
 | |
|            // XDocument xmlDoc = XDocument.Load(url);
 | |
|            // doc.Element("Root").Element("Host").Value = host;
 | |
|            // doc.Element("Root").Element("Port").Value = port;
 | |
|          //  doc.Root.Element("Port").SetValue(port);
 | |
|            // doc.Root.Element("Host").Value = host;
 | |
|            // XmlElement nodePort = (XmlElement)doc.Root.Element("Port");
 | |
|            // doc.Root.Element("Port").Value = port; 
 | |
|             //doc.Save(url);
 | |
| 
 | |
|              
 | |
|             svrUrl = "";
 | |
|             WriteIni(newHost, newPort);
 | |
| 
 | |
|          //   string url = Assembly.GetExecutingAssembly().GetName().CodeBase.Substring(0, Assembly.GetExecutingAssembly().GetName().CodeBase.LastIndexOf('\\') + 1) + "newsettings.xml";
 | |
|  /*
 | |
|              XmlDocument xmlDoc = new XmlDocument();
 | |
|                xmlDoc.Load(url);
 | |
|               var root = xmlDoc.DocumentElement;//取到根结点
 | |
|               XmlElement node1 = (XmlElement)xmlDoc.SelectSingleNode("Root/Host");
 | |
|               node1.InnerText = host ;
 | |
|                XmlElement node2 = (XmlElement)xmlDoc.SelectSingleNode("Root/Port");
 | |
|                node2.InnerText = port;
 | |
|              xmlDoc.Save(url);
 | |
| 
 | |
|  
 | |
| 
 | |
|              string configFile = @"config.xml";
 | |
|              XmlDocument xml = new XmlDocument();
 | |
|              XmlElement element = xml.CreateElement("Root");
 | |
|              xml.AppendChild(element);
 | |
|              //---create the <LastAccess> element---
 | |
|              element = xml.CreateElement("Host");
 | |
|              element.InnerText = host;
 | |
|              xml.DocumentElement.AppendChild(element);
 | |
|              //---create the <LastSearchString> element---
 | |
|              element = xml.CreateElement("Port");
 | |
|              element.InnerText = port;
 | |
|              xml.DocumentElement.AppendChild(element);
 | |
|              xml.Save(configFile);
 | |
|   * */
 | |
|           
 | |
|         }
 | |
| 
 | |
|         public static void WriteIni(string newHost, string newPort)
 | |
|         {
 | |
| 
 | |
|             iniHostPort = newHost + ":" + newPort;
 | |
|             FileStream fs = new FileStream(iniFile, FileMode.Create);
 | |
|             //获得字节数组
 | |
|             byte[] data = System.Text.Encoding.Default.GetBytes(iniHostPort);
 | |
|             //开始写入
 | |
|             fs.Write(data, 0, data.Length);
 | |
|             //清空缓冲区、关闭流
 | |
|             fs.Flush();
 | |
|             fs.Close();
 | |
|         }
 | |
| 
 | |
| 
 | |
|         public static string ReadIni()
 | |
|         {
 | |
|             if (!File.Exists(iniFile))
 | |
|             {
 | |
|                 WriteIni("","");
 | |
|             }
 | |
| 
 | |
|             StreamReader sr = new StreamReader(iniFile, Encoding.Default);  
 | |
|             String line;
 | |
|             line = sr.ReadLine();
 | |
|             sr.Close();
 | |
|             return line;
 | |
|            
 | |
|         }
 | |
| 
 | |
| 
 | |
|         public static void writeFile(string file,string content){
 | |
| 
 | |
|             FileStream fs = new FileStream(file, FileMode.Append);
 | |
|             //获得字节数组
 | |
|             byte[] data = System.Text.Encoding.Default.GetBytes(content);
 | |
|             //开始写入
 | |
|             fs.Write(data, 0, data.Length);
 | |
|             //清空缓冲区、关闭流
 | |
|             fs.Flush();
 | |
|             fs.Close();
 | |
| 
 | |
|         }
 | |
| 
 | |
| 
 | |
|         public static string readSN(){
 | |
| 
 | |
|             string idFile = getPath() + "deiniu.ini";
 | |
| 
 | |
| 
 | |
|             if (!File.Exists(idFile))
 | |
|             {
 | |
| #if debug
 | |
|          writeFile(idFile, Utils.Encrypt(NetUtil.GetMac())); 
 | |
| #endif
 | |
|                return ""; 
 | |
|             }
 | |
| 
 | |
|             StreamReader sr = new StreamReader(idFile, Encoding.Default);
 | |
|             String line;
 | |
|             line = sr.ReadLine();           
 | |
|             sr.Close();
 | |
|             return line;
 | |
| 
 | |
|         }
 | |
| 
 | |
|         public static string BuildUrl(string svrName)
 | |
|         {
 | |
|             if (string.IsNullOrEmpty(iniHostPort))
 | |
|             {
 | |
|                 //host = doc.Root.Element("Host").Value;
 | |
|                 //port = doc.Root.Element("Port").Value;
 | |
| 
 | |
|                 iniHostPort = ReadIni();
 | |
|                // iniHostPort = doc.Root.Element("Host").Value;
 | |
|             }
 | |
|             if (string.IsNullOrEmpty(svrUrl))
 | |
|             {
 | |
|                 //svrUrl=string.Format("http://{0}:{1}/{2}.svc", host, port, svrName);
 | |
|                 svrUrl = string.Format("http://{0}/{1}.svc", iniHostPort, svrName);
 | |
|             }
 | |
| 
 | |
| 
 | |
| 
 | |
|             return svrUrl;
 | |
|         }
 | |
| 
 | |
|         public static BasicHttpBinding getBasicBinding()
 | |
|         {
 | |
|                 BasicHttpBinding binding=  new BasicHttpBinding();
 | |
|                 binding.MaxReceivedMessageSize  = int.MaxValue;
 | |
|                    binding.MaxBufferPoolSize  = int.MaxValue;
 | |
|                    binding.MaxBufferSize  = int.MaxValue;
 | |
|             return binding;
 | |
|         }
 | |
| 
 | |
|         public static EndpointAddress getEndpoint(string svrName){
 | |
|            // NetDataContractSerializer serializer = new NetDataContractSerializer();
 | |
|             string remoteAddress = WcfHelp.BuildUrl(svrName); //get address
 | |
|             EndpointAddress endpoint = new EndpointAddress(remoteAddress); 
 | |
|             //MessageHeader hdUserId = MessageHeader.CreateHeader("UserId", "www.deinu.com", LoginInfo.UserId, serializer);
 | |
|             //MessageHeader hdToken = MessageHeader.CreateHeader("Token", "www.deinu.com", LoginInfo.Token, serializer);
 | |
|            //  endpoint.Headers.
 | |
|             //endpoint.Headers.Add(hdUserId);
 | |
|             //endpoint.Headers.Add(hdToken);
 | |
| 
 | |
|             return endpoint;
 | |
|         
 | |
|         }
 | |
|     }
 | |
| }
 |