public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
        {
            ISessionFeature session = null;

            try
            {
                //Any application messages, clear them out
                session = context.HttpContext.Features.Get <ISessionFeature>();
                if (session != null && session.Session.IsAvailable)
                {
                    session.Session.Remove("application-message");
                }
            }
            catch (Exception e)
            {
                await raven.CaptureNetCoreEventAsync(e);
            }

            //Execute the action method
            await next();

            try
            {
                //Any application messages, add to session so they can be retrieved after any redirects
                var messages = context.HttpContext.Features.Get <ApplicationMessageFeature>();
                if (messages != null && session != null && session.Session.IsAvailable)
                {
                    session.Session.Set("application-message", Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(messages)));
                }
            }
            catch (Exception e)
            {
                await raven.CaptureNetCoreEventAsync(e);
            }
        }
Exemplo n.º 2
0
        public virtual void Uninitialize()
        {
            _features = null;

            ItemsFeature            = null;
            ServiceProvidersFeature = null;
            LifetimeFeature         = null;
            SessionFeature          = null;

            if (_request != null)
            {
                UninitializeHttpRequest(_request);
                _request = null;
            }
            if (_response != null)
            {
                UninitializeHttpResponse(_response);
                _response = null;
            }

            if (_connection != null)
            {
                UninitializeConnectionInfo(_connection);
                _connection = null;
            }
        }
Exemplo n.º 3
0
        public virtual void Initialize(IFeatureCollection features)
        {
            ItemsFeature            = features.Get <IItemsFeature>() ?? new ItemsFeature();
            ServiceProvidersFeature = features.Get <IServiceProvidersFeature>();
            LifetimeFeature         = features.Get <IHttpRequestLifetimeFeature>();
            SessionFeature          = features.Get <ISessionFeature>();

            _request  = InitializeHttpRequest();
            _response = InitializeHttpResponse();
        }
 void IFeatureCache.CheckFeaturesRevision()
 {
     if (_cachedFeaturesRevision !=_features.Revision)
     {
         _items = null;
         _serviceProviders = null;
         _authentication = null;
         _lifetime = null;
         _session = null;
         _cachedFeaturesRevision = _features.Revision;
     }
 }
 void IFeatureCache.CheckFeaturesRevision()
 {
     if (_cachedFeaturesRevision != _features.Revision)
     {
         _items                  = null;
         _serviceProviders       = null;
         _authentication         = null;
         _lifetime               = null;
         _session                = null;
         _cachedFeaturesRevision = _features.Revision;
     }
 }
Exemplo n.º 6
0
 public AuthStateProcessor(StateHub _stateHub,
                           IDistributedCache _distributedCache,
                           ISessionFeature _sessionFeature,
                           SqlSugarClient _sqlSugarClient)
 {
     stateHub       = _stateHub;
     cache          = _distributedCache;
     sessionFeature = _sessionFeature;
     sqlSugarClient = _sqlSugarClient;
     stateHub.RecieveState("userlogin", UserLoginState);
     stateHub.RecieveState("userlogout", UserLogoutState);
 }
Exemplo n.º 7
0
        public static RpcService CreateRpcService(
            string namedPipeName,
            IPipePlatform pipePlatform,
            ISessionFeature session,
            Type rpcService,
            Func <RequestContext, Func <Task>, Task> handler)
        {
            var service = new RpcService(session, rpcService, handler);

            Task.Factory.StartNew(() => service.CreateServer(namedPipeName, pipePlatform),
                                  TaskCreationOptions.LongRunning);

            return(service);
        }
    public bool TokenCorrect()
    {
        ISessionFeature sessionFeature = _context.Features.Get <ISessionFeature>();

        if (sessionFeature != null)
        {
            int?token = sessionFeature.Session.GetInt32("Token");
            if (token.HasValue)
            {
                // do whatever check you are doing
            }
        }

        return(false);
    }
Exemplo n.º 9
0
        public static RpcService CreateRpcService(
            string namedPipeName,
            IPipePlatform pipePlatform,
            ISessionFeature session,
            Type rpcService,
            Func <RequestContext, Func <Task>, Task> handler)
        {
            var service = new RpcService(session, rpcService, handler);

            _rpcServerThread = new Thread(() => service.CreateServer(namedPipeName, pipePlatform))
            {
                IsBackground = true
            };
            _rpcServerThread.Start();

            return(service);
        }
Exemplo n.º 10
0
 public RpcService(ISessionFeature session, Type service, Func <RequestContext, Func <Task>, Task> handler)
 {
     _session = session;
     _service = service;
     _handler = handler;
 }