private void init(IGRequest request) { SetAttribute(IGANSWER_REQGUID, request.GetGuid()); SetAttribute(IGANSWER_REQNAME, request.GetTitle()); string sUser = request.GetAttributeValue(IGRequest.IGREQUEST_USERLOGIN); if (sUser != null) SetAttribute(IGANSWER_USERLOGIN, sUser); XmlNode xmlReqParams = request.GetParameters(); if (xmlReqParams != null) { if (xmlReqParams.Attributes.Count > 0) { foreach (XmlAttribute att in xmlReqParams.Attributes) SetParameter(att.Name, att.Value); } } }
public IGSMAnswerError(IGRequest request, IGSMANSWER_ERROR_CODE errorCode) : base(IGSMANSWER_ERROR, IGSMANSWERERROR_STRING) { string sGuid = (request == null ? "##Undefined##" : (request.GetGuid() == null ? "##Undefined##" : request.GetGuid())); string sName = (request == null ? "##Undefined##" : (request.GetTitle() == null ? "##Undefined##" : request.GetTitle())); string sUser = (request == null ? null : request.GetAttributeValue(IGRequest.IGREQUEST_USERLOGIN)); SetAttribute(IGANSWER_REQGUID, sGuid); SetAttribute(IGANSWER_REQNAME, sName); if (sUser != null) SetAttribute(IGANSWER_USERLOGIN, sUser); SetParameter(IGSMANSWERERROR_CODEPARAM, ((int)errorCode).ToString()); SetParameter(IGSMANSWERERROR_STRINGPARAM, errorCode.ToString()); }
private int process(IGRequest request) { // Server application request string sUser = request.GetParameterValue(IGRequest.IGREQUEST_USERLOGIN); string sRequestId = request.GetAttributeValue(IGRequest.IGREQUEST_NODEID); string sGuid = request.GetAttributeValue(IGRequest.IGREQUEST_GUID); if ((sUser == null) || (sRequestId == null) || (sGuid == null)) return (int)IGSMAnswer.IGSMANSWER_ERROR_CODE.IGSMANSWER_ERROR_CORRUPTEDREQUEST; int nReqId = Convert.ToInt32(sRequestId); int nRes = IGSMAnswer.IGSMANSWER_ERROR_NONE; IGConnectionLocal userConnection = null; switch (nReqId) { case IGRequest.IGREQUEST_WORKSPACE_CONNECT: nRes = ConnectUser(sUser, sGuid, out userConnection); if (nRes == (int)IGSMAnswer.IGSMANSWER_ERROR_CODE.IGSMANSWER_ERROR_USERALREADYCONNECTED) { AppendInfo("Reconnecting user: " + sUser); nRes = IGSMAnswer.IGSMANSWER_ERROR_NONE; } break; case IGRequest.IGREQUEST_WORKSPACE_DISCONNECT: nRes = DisconnectUser(sUser, sGuid, out userConnection); break; default: IGConnection conn; nRes = GetConnection(sUser, out conn); userConnection = (IGConnectionLocal)conn; break; } request.Connection = userConnection; if (nRes != IGSMAnswer.IGSMANSWER_ERROR_NONE) return nRes; if (request.GetTypeId() == IGRequest.IGREQUEST_FRAME) { string sFrameId = request.GetParameterValue(IGRequest.IGREQUEST_FRAMEID); string sRetry = request.GetParameterValue(IGRequest.IGREQUEST_RETRY); if (sFrameId != null && sRetry == null) { if (IGRequestProcessing.IsFrameBusy(sUser, sFrameId)) return (int)IGSMAnswer.IGSMANSWER_ERROR_CODE.IGSMANSWER_ERROR_FRAMEBUSY; } } userConnection.GetUserStatus().m_nLastReqId = nReqId; return userConnection.SendRequest(request) ? IGSMAnswer.IGSMANSWER_ERROR_NONE : (int)IGSMAnswer.IGSMANSWER_ERROR_CODE.IGSMANSWER_ERROR_SENDREQUEST; }