コード例 #1
0
        internal static void OnPageStart(Object component)
        {
            // has to be in asp compat mode
            if (!IsInAspCompatMode)
            {
                return;
            }

            int rc = UnsafeNativeMethods.AspCompatOnPageStart(component);

            if (rc != 1)
            {
                new HttpException(HttpRuntime.FormatResourceString(SR.Error_onpagestart));
            }

            if (UnsafeNativeMethods.AspCompatIsApartmentComponent(component) != 0)
            {
                Current.RememberStaComponent(component);
            }
        }
コード例 #2
0
        internal static void OnPageStartSessionObjects()
        {
            // has to be in asp compat mode
            if (!IsInAspCompatMode)
            {
                return;
            }

            // get session state if any
            HttpContext context = Current._context;

            if (context == null)
            {
                return;
            }
            HttpSessionState session = context.Session;

            if (session == null)
            {
                return;
            }

            // enumerate objects and call OnPageStart
            int numObjects = session.Count;

            for (int i = 0; i < numObjects; i++)
            {
                Object component = session[i];

                if (component != null && !(component is string))
                {
                    int rc = UnsafeNativeMethods.AspCompatOnPageStart(component);
                    if (rc != 1)
                    {
                        throw new HttpException(SR.GetString(SR.Error_onpagestart));
                    }
                }
            }
        }