小编Tea*_*n42的帖子

MVC属性路由不起作用

我对MVC框架比较陌生,但我确实有一个功能正常的Web项目,其API控制器使用了AttributeRouting(NuGet包) - 但是,我正在启动另一个项目,它只是不想遵循我放入的路由地点.

控制器:

public class BlazrController : ApiController
{
    private readonly BlazrDBContext dbContext = null;
    private readonly IAuthProvider authProvider = null;

    public const String HEADER_APIKEY = "apikey";
    public const String HEADER_USERNAME = "username";

    private Boolean CheckSession()
    {
        IEnumerable<String> tmp = null;
        List<String> apiKey = null;
        List<String> userName = null;

        if (!Request.Headers.TryGetValues(HEADER_APIKEY, out tmp)) return false;
        apiKey = tmp.ToList();

        if (!Request.Headers.TryGetValues(HEADER_USERNAME, out tmp)) return false;
        userName = tmp.ToList();

        for (int i = 0; i < Math.Min(apiKey.Count(), userName.Count()); i++)
            if (!authProvider.IsValidKey(userName[i], …
Run Code Online (Sandbox Code Playgroud)

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

38
推荐指数
4
解决办法
3万
查看次数

使用Web API未检查的并发检查

使用EntityFramework v6,我整理了一个原型来演示Web Api和桌面应用程序中的并发检查.

实体:

public static class IRowVersionExtensions
{
    public static string RowVersionAsString(this IRowVersion ivr)
    {
        return Convert.ToBase64String(ivr.RowVersion);
    }

    public static void SetRowVersion(this IRowVersion ivr, string rowVersion)
    {
        ivr.RowVersion = Convert.FromBase64String(rowVersion);
    }
}

public interface IRowVersion
{
    byte[] RowVersion { get; set; }
}

public class Department : IRowVersion
{
    [Key]
    public int Id { get; set; }

    [Required, MaxLength(255)]
    public string Name { get; set; }

    public string Description { get; set; }

    [Timestamp]
    [ConcurrencyCheck]
    public byte[] RowVersion { …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc concurrency entity-framework knockout.js

4
推荐指数
1
解决办法
1748
查看次数