小编fre*_*nky的帖子

如何将Entity Framework与Web API混合使用

我正在研究新的ASP.NET MVC4 Web API框架.我在Windows 8消费者预览版上运行Visual Studio 2011测试版.

我的问题是,新的Web API框架的官方示例都没有使用任何类型的数据库后端.在过去,我已经能够创建一个本地SQL CE数据库,并使用Entity Framework作为ORM通过WCF数据服务提供服务.如何使用Web API执行相同的操作?

这也是一个有效的问题吗?如果我想暴露实体框架映射的SQL CE数据库,我应该继续使用WCF数据服务吗?它似乎工作正常,除了不提供选择响应格式化程序的灵活性,我可能会得到web api.

asp.net asp.net-mvc entity-framework asp.net-web-api

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

将Index设置为控制器的默认路由

我有一个网址

我想变成

这也可能是http://www.roadkillwiki.org/Page/my-url-with-spaces - 参数是一个字符串.我尝试过的路线设置是:

routes.MapRoute(
    "ControllerDefault",
    "{controller}/{id}",
    new { controller = "Page", action = "Index", id = UrlParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)

然而,这干扰了MVC项目带来的默认"id"路由.有没有办法实现这个目标?

asp.net-mvc asp.net-mvc-routing asp.net-mvc-3

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

MVC中的错误处理

我在MVC中使用错误处理已经困难了几天.我仍然没有做对.(我也在这里阅读了大部分问题并用Google搜索,直到我的手指流血)

我想做的事:

  1. 使用标准[Authorize]属性
  2. 将所有错误重定向到我的错误控制器(包括未经授权)
  3. 在我的错误控制器中每个HTTP错误都有一个操作.

我不想做的事:

  1. 放上[ErrorHandler]我的所有控制器(它可以在我的基础控制器上使用)吗?
  2. 使用自定义Authorize属性.

实际上,只要我让#1-3工作,我就可以做任何必要的事情(包括NOT列表).

我尝试过的:

  1. 运用 Application_Error
  2. 运用 Controller.HandleUnknownAction
  3. 运用 Controller.OnException
  4. 使用[ErrorHandler]我的控制器
  5. CustomErrors在web.config中打开/关闭

猜猜我需要这些或其他东西的组合?

error-handling asp.net-mvc asp.net-mvc-3

5
推荐指数
1
解决办法
3847
查看次数

在Asp.net MVC中实现通用功能的位置

我正在学习Asp.net MVC 3.只是想知道,有没有办法定义一个方法,在执行任何控制器的任何其他方法之前执行?这意味着它应该像基础"Controller"类的构造函数一样工作.

这将包括一些常见功能,如检查用户会话/如果没有登录重定向到登录页面,否则从db中设置一些将在应用程序中的任何位置使用的常用值.我只想写一次它们,不想在每个控制器方法上调用一个方法.

问候

asp.net-mvc asp.net-mvc-3

5
推荐指数
1
解决办法
707
查看次数

dl.google.com 上的 404 用于稳定的 Chrome

\xe2\x80\x8b\xe2\x80\x8b 我的构建管道的一部分是下载特定版本的 Chrome (google-chrome-stable_81.0.4044.138-1_amd64.deb)。由于以下错误,我的本地构建和 GitHub 上的自动构建都突然失败:

\n
Step 26/30 : RUN wget --no-verbose -O /tmp/chrome.deb http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${CHROME_VERSION}_amd64.deb\n560 ---> Running in 718393c11bc4\n561http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_81.0.4044.138-1_amd64.deb:\n5622022-01-18 08:20:09 ERROR 404: Not Found.\n563The command '/bin/sh -c wget --no-verbose -O /tmp/chrome.deb http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${CHROME_VERSION}_amd64.deb && apt-get update && apt-get install -y /tmp/chrome.deb --no-install-recommends --allow-downgrades fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf && rm /tmp/chrome.deb' returned a non-zero code: 8\n
Run Code Online (Sandbox Code Playgroud)\n

几个月来,我\xe2\x80\x99 的这部分构建一直存在零问题,但突然\xe2\x80\x99 崩溃了。知道\xe2\x80\x99s 发生了什么吗?

\n

在解决这个问题的同时还有解决方法吗?

\n

google-chrome

5
推荐指数
1
解决办法
3399
查看次数

Asp.net mvc 3 - 自定义模型绑定

我有这样的模特

    public string Name { get; set; }

    public IEnumerable<int> ProjectMembersId { get; set; }
Run Code Online (Sandbox Code Playgroud)

应使用标准绑定代码绑定属性Name.

但属性ProjectMembersId应该使用我的自定义代码绑定.

所以我从DefaultModelBinder派生了一个类并重写了SetProperty方法.

protected override void SetProperty(ControllerContext controllerContext, ModelBindingContext bindingContext, System.ComponentModel.PropertyDescriptor propertyDescriptor, object value)
{
    if (propertyDescriptor.Name == "ProjectMembersId")
    {
        var list = new List<int>(5);

        var form = controllerContext.HttpContext.Request.Form;

        var names = form.AllKeys.Where(x => x.StartsWith("dhxGridObj"));

        foreach (var name in names)
        {
            int i;

            if (int.TryParse(form.Get(name), out i))
            {
                list.Add(i);
            }
        }

        value = list;
    }

    base.SetProperty(controllerContext, bindingContext, propertyDescriptor, value);
}
Run Code Online (Sandbox Code Playgroud)

芽问题是没有调用SetProperty方法,因为值提供程序不包含名为ProjectMembersId的项.

也许我正在覆盖defaultModelBinder的错误部分.那么最好的方式是什么?

asp.net-mvc modelbinders asp.net-mvc-3

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

asp.net mvc OnAuthorization和OnActionExecuting之间的区别

有人可以帮助解释asp.net mvc中OnAuthorization和OnActionExecuting之间的区别吗?

asp.net-mvc asp.net-mvc-3

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