예제 #1
0
        public override void PerformOperation(NameValueCollection urlQuery, HttpResponse response)
        {
            string andEnsureParam = HandlerOperation.GetAndEnsureParam(urlQuery, "Name");
            string contentType    = null;

            byte[] array = null;
            if (!string.IsNullOrEmpty(andEnsureParam))
            {
                if (andEnsureParam.Equals("ViewerScript", StringComparison.Ordinal))
                {
                    array       = this.GetViewerScript();
                    contentType = "application/javascript";
                }
                else
                {
                    array = this.GetResource(andEnsureParam, out contentType, urlQuery);
                }
            }
            if (array != null)
            {
                response.ContentType = contentType;
                //response.BinaryWrite(array);
                //DateTime expires = DateTime.Now.AddMonths(1);
                //response.Cache.SetExpires(expires);
            }
            else
            {
                response.StatusCode = 404;
            }
        }
예제 #2
0
        protected static bool ParseRequiredBool(NameValueCollection urlQuery, string paramName)
        {
            string andEnsureParam = HandlerOperation.GetAndEnsureParam(urlQuery, paramName);
            bool   result         = default(bool);

            if (bool.TryParse(andEnsureParam, out result))
            {
                return(result);
            }
            throw new HttpHandlerInputException(new FormatException());
        }
예제 #3
0
        protected static int ParseRequiredInt(NameValueCollection urlQuery, string paramName)
        {
            string andEnsureParam = HandlerOperation.GetAndEnsureParam(urlQuery, paramName);
            int    result         = default(int);

            if (int.TryParse(andEnsureParam, NumberStyles.Any, (IFormatProvider)CultureInfo.InvariantCulture, out result))
            {
                return(result);
            }
            throw new HttpHandlerInputException(new FormatException());
        }
예제 #4
0
        protected static object ParseRequiredEnum(NameValueCollection urlQuery, string paramName, Type enumType)
        {
            string andEnsureParam = HandlerOperation.GetAndEnsureParam(urlQuery, paramName);

            try
            {
                return(Enum.Parse(enumType, andEnsureParam));
            }
            catch (Exception e)
            {
                throw new HttpHandlerInputException(e);
            }
        }
        public override void PerformOperation(NameValueCollection urlQuery, HttpResponse response)
        {
            string text  = urlQuery["StreamID"];
            string text2 = urlQuery["ResourceStreamID"];

            if (text != null && text.Length > 0)
            {
                string andEnsureParam = HandlerOperation.GetAndEnsureParam(urlQuery, "IterationId");
                this.GetStreamImage(text, response, andEnsureParam);
                return;
            }
            if (text2 != null && text2.Length > 0)
            {
                this.GetRendererImage(text2, response);
                return;
            }
            throw new HttpHandlerInputException(Errors.MissingUrlParameter("StreamID"));
        }
예제 #6
0
        protected ReportDataOperation(IReportServerConnectionProvider connectionProvider, bool requiresFullReportLoad = true)
            : base(connectionProvider)
        {
            NameValueCollection requestParameters = new NameValueCollection();
            //HttpHandler.RequestParameters;
            bool flag = base.ProcessingMode == ProcessingMode.Local;

            if (base.IsUsingSession)
            {
                ReportHierarchy reportHierarchy = base.ReportHierarchy;
                int             clientStackSize = HandlerOperation.ParseRequiredInt(requestParameters, "ReportStack");

                ReportInfo reportInfo = reportHierarchy.Peek();
                if (flag)
                {
                    this.m_reportControlSession = reportInfo.LocalSession;
                }
                else
                {
                    //this.m_reportControlSession = reportInfo.ServerSession;
                }
            }
            else
            {
                if (flag)
                {
                    throw new HttpHandlerInputException(new NotSupportedException());
                }
                //ServerReport serverReport = base.CreateTempServerReport();
                //serverReport.LoadFromUrlQuery(requestParameters, requiresFullReportLoad);
                //this.m_reportControlSession = new ServerModeSession(serverReport);
            }
            int  culture          = HandlerOperation.ParseRequiredInt(requestParameters, "Culture");
            int  culture2         = HandlerOperation.ParseRequiredInt(requestParameters, "UICulture");
            bool useUserOverride  = HandlerOperation.ParseRequiredBool(requestParameters, "CultureOverrides");
            bool useUserOverride2 = HandlerOperation.ParseRequiredBool(requestParameters, "UICultureOverrides");

            Thread.CurrentThread.CurrentCulture   = new CultureInfo(culture, useUserOverride);
            Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture2, useUserOverride2);
        }