private string parseTemplate(string template, UserDO userDo, HttpRequest request, HttpResponse response)
        {
            foreach (Match item in regex.Matches(template))
            {
                string propertyValue = extractProperty(item.Value, userDo, request, response);
                template = template.Replace("{" + item.Value + "}", propertyValue);
            }

            return(template);
        }
        private string extractProperty(string item, UserDO userDo, HttpRequest request, HttpResponse response)
        {
            int    i    = item.LastIndexOf('.');
            string obj  = item.Substring(0, i);
            string prop = item.Substring(i + 1);

            switch (obj)
            {
            case "user":
                return(getValueByPropName(userDo, prop));

            case "request":
                return(getValueByPropName(request, prop));

            case "response":
                return(getValueByPropName(response, prop));

            default:
                return("");
            }
        }