小编smi*_*ing的帖子

寻找一个有助于的开源项目

那里的大量项目非常令人生畏.我查看了www.ohloh.net,它允许很好的排序和过滤,但是不容易看出哪些项目会欢迎新手,或者有一些简单的入门错误要修复的项目,甚至是docco要做的项目.

open-source project

26
推荐指数
2
解决办法
1万
查看次数

System.Web.Http.Filters.ActionFilterAttribute必须与控制器位于同一个项目中?

我有一个System.Web.Http.ApiController派生的控制器:

[LoggingFilterApi]
public class BaseController : ApiController
{
     public IHttpActionResult Ads();
}
Run Code Online (Sandbox Code Playgroud)

过滤器定义如下:

using System.Web.Http.Controllers;
using System.Web.Http.Filters;

namespace pecom.Common.Filters
{
    public class LoggingFilterApiAttribute : ActionFilterAttribute
    {
        public override void OnActionExecuting(HttpActionContext ctx)
        {
            var msg = ctx.ActionDescriptor.ControllerDescriptor.ControllerType.Name + "." + ctx.ActionDescriptor.ActionName +
                "(" + ctx.Request.RequestUri.ToString();

            ILog logger = LogManager.GetLogger(ctx.ActionDescriptor.ControllerDescriptor.ControllerType);
            logger.Info(msg);
            base.OnActionExecuting(ctx);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果LoggingFilterApiAttribute.cs是控制器的组成部分.csproj,OnActionExecuting如预期被调用.但是,如果LoggingFilterApiAttribute.cs移动到另一个.csproj(以方便代码重用),OnActionExecuting不会按预期调用.奇怪的.

谁见过这个?目前我在我们的项目中复制过滤器,这有点不太理想.这是ASP.NET MVC 5.2.

干杯,皮特

c# asp.net-mvc asp.net-web-api

6
推荐指数
1
解决办法
6845
查看次数

标签 统计

asp.net-mvc ×1

asp.net-web-api ×1

c# ×1

open-source ×1

project ×1