using System; using System.Data; namespace Core.Mes.IBaseInterface { /// /// 消息原型 /// [Serializable] public struct CallingMessage { //== 服务名 public string ServerName; //== 程序集名 public string AssemblyName; //== 类名 public string ClassName; //== 方法名 public string MethodName; //== 参数数组 public object[] args; //== 网络传输方式 public NetWorkTransType TransType; //== 服务类型 public MesServerType ServerType; //== 访问类型 public VisitType visitType; public RequestType requestType; public CallingMessage(string ServerName, string AssemblyName, string ClassName, string MethodName, object[] args) { this.ServerName = ServerName; //== 常用 this.AssemblyName = AssemblyName; this.ClassName = ClassName; this.MethodName = MethodName; this.args = args; //== 特殊 this.TransType = NetWorkTransType.Remoting; this.ServerType = MesServerType.IComponentContainServer; this.visitType = VisitType.Method; this.requestType = RequestType.DirectReturn; } } /// /// 网络传输方式枚举 /// public enum NetWorkTransType { Remoting, XmlWebService } /// /// 服务类型 /// public enum MesServerType { IComponentContainServer, MesSystemBaseServer } /// /// 访问类型 /// public enum VisitType { Method, Property } /// /// 请求方式 /// public enum RequestType { DirectReturn, DirectBroakcast, AfterHandlerBroakcast } /// /// 用户验证信息 /// [Serializable] public struct ValidateInfo { public string ValidateGuid; public string LoginID; public ValidateInfo(string validateGuid, string loginID) { this.ValidateGuid = validateGuid; this.LoginID = loginID; } } /// /// 存储于服务端的客户信息 /// [Serializable] public struct UserInfo { public string ValidateGuid; public string UserName; public string LoginID; //登录ID public string UserID; //用户ID public string UserBc; //班次 public string UserBb; //班别 public string UserRz; //工作制 public string UserDepID; //部门 public string UserDepName; public string UserRoleID; //角色 public string UserRoleName; public System.IO.Stream MenuConfigStream; } /// /// 客户端调用服务端的返回对象,包括错误代码、错误信息和返回对象实体。 /// 在Web传输中,返回对象实体如果是DataSet类型,将存入RealDataSet中。 /// [Serializable] public struct ReturnObject { //== 错误代码 public int ErrCode; //== 错误信息 public string ErrMessage; //== 返回对象实体 //private object m_RealObject; //private bool RealObjcetIsDataSet; public object RealObject; /* public object RealObject { get { if (RealObjcetIsDataSet) { byte[] buffer = Core.Mes.Common.Utility.Decompress(m_RealObject as byte[]); DataSet ds = Core.Mes.Common.Utility.ReSerializable(buffer); return ds; } else { return m_RealObject; } } set { if (value is DataSet) { byte[] buffer = Core.Mes.Common.Utility.SerializeDataSet(value as DataSet); buffer = Core.Mes.Common.Utility.Compress(buffer); m_RealObject = buffer; } else { m_RealObject = value; } } } */ //== 用于Web传输时存放DataSet类型的返回实体 public DataSet RealDataSet; public ReturnObject(object RealObject) { /* if (RealObject is DataSet) { byte[] buffer = Core.Mes.Common.Utility.SerializeDataSet(RealObject as DataSet); buffer = Core.Mes.Common.Utility.Compress(buffer); m_RealObject = buffer; RealObjcetIsDataSet = true; } else { m_RealObject = RealObject; RealObjcetIsDataSet = false; } */ this.RealObject = RealObject; this.ErrCode = 0; this.ErrMessage = ""; this.RealDataSet = null; } public ReturnObject(object RealObject, string ErrMessage) { /* if (RealObject is DataSet) { byte[] buffer = Core.Mes.Common.Utility.SerializeDataSet(RealObject as DataSet); buffer = Core.Mes.Common.Utility.Compress(buffer); m_RealObject = buffer; RealObjcetIsDataSet = true; } else { m_RealObject = RealObject; RealObjcetIsDataSet = false; } */ this.RealObject = RealObject; this.ErrCode = 1; this.ErrMessage = ErrMessage; this.RealDataSet = null; } public ReturnObject(object RealObject, int ErrCode) { /* if (RealObject is DataSet) { byte[] buffer = Core.Mes.Common.Utility.SerializeDataSet(RealObject as DataSet); buffer = Core.Mes.Common.Utility.Compress(buffer); m_RealObject = buffer; RealObjcetIsDataSet = true; } else { m_RealObject = RealObject; RealObjcetIsDataSet = false; } */ this.RealObject = RealObject; this.ErrCode = ErrCode; this.ErrMessage = ""; this.RealDataSet = null; } public ReturnObject(object RealObject, int ErrCode, string ErrMessage) { /* if (RealObject is DataSet) { byte[] buffer = Core.Mes.Common.Utility.SerializeDataSet(RealObject as DataSet); buffer = Core.Mes.Common.Utility.Compress(buffer); m_RealObject = buffer; RealObjcetIsDataSet = true; } else { m_RealObject = RealObject; RealObjcetIsDataSet = false; } */ this.RealObject = RealObject; this.ErrCode = ErrCode; this.ErrMessage = ErrMessage; this.RealDataSet = null; } } public interface ICommon { ReturnObject MethodHandler(CallingMessage message, ValidateInfo info); } }