小编t31*_*316的帖子

在CsvHelper中如何捕获转换错误并知道它发生在哪个字段和哪一行?

CsvReader成功地使用了这个类并且对它很满意,但是,我使用的文件是由一个更改列格式而不让我知道的组生成的.

所以,有一瞬间一切正常,然后第二天早上事情中断并且try catch块会csv.GetRecord<MyType>()捕获错误并记录错误,但是我无法从Exception实例中收集任何有价值的信息.它只是说:"无法进行转换." 与InnerException无关.不是很有用.我甚至不知道我的150列中的哪一列导致了问题.

你能帮我弄清楚如何确定哪一行导致问题的哪一列?

谢谢

csvhelper

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

.Net WebApi OData返回Queryable的操作

我希望实现接近RateProduct操作的内容:http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/odata-actions

在该教程中,它被定义为:

[HttpPost]
public int RateProduct([FromODataUri] int key, ODataActionParameters parameters) 
{ 
    // ...
}

ODataModelBuilder modelBuilder = new ODataConventionModelBuilder();
modelBuilder.EntitySet<Product>("Products");

// New Code
ActionConfiguration rateProduct = modelBuilder.Entity<Product>().Action("RateProduct");
rateProduct.Parameter<int>("Rating");
rateProduct.Returns<int>();
Run Code Online (Sandbox Code Playgroud)

但是,我有一个Location实体的用例,它足够聪明,可以返回其周围某个半径范围内的其他位置.它大致应该是这样的:

[HttpPost]
public IQueryable<Location> GetLocationsWithinRadius([FromODataUri] int key, ODataActionParameters parameters) 
{ 
    // Get the Location instance intended to be the center of the radius by using the key
    // Do a radius search around it using (int)parameters["radius"] as the radius
    // return the IQueryable<Location> of all location found within …
Run Code Online (Sandbox Code Playgroud)

c# odata asp.net-web-api asp.net-web-api-routing

9
推荐指数
1
解决办法
7594
查看次数

Autofac属性注入

我正在改变我的Asp.Net MVC3项目,使用Autofac将服务注入我的控制器.到目前为止,这一直非常简单.我的服务都有一个Telerik OpenAccess db属性,我通过构造函数注入(在服务基类中).而且我的控制器都有服务的构造函数属性,这些属性也会被注入.

我有一个名为AuditInfo的类,它封装了控制器的可审计属性:

public class AuditInfo
{      
    public string RemoteAddress { get; set; }

    public string XForwardedFor { get; set; }

    public Guid UserId { get; set; }

    public string UserName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我的服务类中的OpenAccess db属性需要将一个此类的实例注入其中,以便在各种数据库调用中用作审计信息.

问题是这不是可以在Application_Start实例化的类,因为至少有两个属性RemoteAddress和XForwardedFor在OnActionExecuting的最早阶段填充,即一旦存在Request变量.

因此,我在我的BaseController类的OnActionExecuting方法中实例化这样:

protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
    base.OnActionExecuting(filterContext);
    db.AuditInfo = AuditInfo;                                      
}

public AuditInfo AuditInfo
{
    get
    {
        return new AuditInfo()
        {
            RemoteAddress = this.Request.ServerVariables["REMOTE_ADDR"],
            XForwardedFor = this.Request.ServerVariables["X_FORWARDED_FOR"],
            UserId = this.UserId,
            UserName = this.UserName
        };
    }
}
Run Code Online (Sandbox Code Playgroud)

所以 - …

dependency-injection circular-dependency inversion-of-control autofac asp.net-mvc-3

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

breeze服务器端元数据是强制性的还是可以在客户端定义?

我正在寻找使用breezejs,并就其功能和随附的最佳实践提出一些问题.

  1. 服务器端metada必须存在吗?如果我有一个非EF WebApi控制器,我还需要用ProviderContext包装它并实现元数据吗?如果是这样,元数据的格式是什么?
  2. 如果我能够在服务器端省略元数据并且只实现可查询的actionfilter,我还可以编写客户端代码来定义元数据吗?我在哪里可以找到有关如何执行此操作的信息?
  3. 我有一个名为Job的服务器Model类,它带有id和name,它们是简单的属性和一个名为Company的对象属性,它指向一个名为Company的服务器端模型类,它具有id和name.作业可以是机密的(通过Job上的布尔IsConfidential属性),在这种情况下即使它们仍然有一个companyId,该属性也不应该发送给客户端.相反,应该有一个名为CompanyName的服务器端计算属性(基本上是非机密作业的Company.Name和机密作业的"机密")发送给客户端.管理员用户应该能够查看和编辑CompanyId,但普通用户不应该看到或发布/放置该值.你如何在微风中实现这一目标?breeze是否能很好地处理非模型ViewModel(较少的属性和一些计算属性)?
  4. ODataActionFilter源代码的来源是什么我可以使用并改变我想要的任何目的?
  5. 为EF以外的东西创建WebApi控制器有多难 - 可能就像Telerik OpenAccess一样?

谢谢

breeze

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