none
MEF在asp.net mvc filter中一直是NULL RRS feed

  • 问题

  • 在Controller中以下面的格式使用是没有一点问题的,可是我想在filter中也使用数据操作,同样的写法就一直是null, help

    using Net.Eboss.Site;
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.Composition;
    using System.Linq;
    using System.Threading;
    using System.Web;
    using System.Web.Mvc;
    using System.Web.Security;
    
    namespace Net.Eboss.Web.Filters
    {
        [Export]
        public class ClientAuthorizeAttribute : AuthorizeAttribute
        {
            [Import]
            public ISystemLogSiteContract SystemLogSiteContract { get; set; }
    
            public override void OnAuthorization(AuthorizationContext filterContext)
            {
    
                base.OnAuthorization(filterContext);
    
                if (filterContext.Result is HttpUnauthorizedResult)
                {
    
                    filterContext.Result = new RedirectResult(
                        string.Concat(FormsAuthentication.LoginUrl,
                                     "?ReturnUrl=",
                                     filterContext.HttpContext.Server.UrlEncode(filterContext.HttpContext.Request.Url.AbsoluteUri)));           
                }
                else
                {
                    ThreadPool.QueueUserWorkItem(delegate
                    {                   
                        if (filterContext.IsChildAction == false)
                        {
                            SystemLogSiteContract.Add(new Core.Models.Base.SystemLog
                            {
                                Action = filterContext.ActionDescriptor.ActionName,
                                ActionDescription = "",
                                Controller = filterContext.Controller.ToString(),
                                IpAddress = filterContext.HttpContext.Request.UserHostAddress,
                                LogDate = DateTime.Now
                            });
    
                        }
                    });  
                }
    
            }
    
        }
    }
    SystemLogSiteContract 一直为null


    • 已编辑 seeseason 2014年1月14日 2:36 补充
    2014年1月14日 1:41

全部回复