背景:在面向公众的ASP.NET MVC4应用程序中,有时我会收到对错误URL的入站请求.引荐来自外部所以我的应用程序是我无法控制的(我没有在我的应用程序中生成错误的URL).因此MVC正确引发异常并且用户看到自定义错误页面.global.asax被编码为电子邮件错误给我.
问题.虽然URL很糟糕,但我收到的错误是意外的.
例如: - 用户导航(从外部URL)到/ Blog/View - Blog控制器没有View操作 - 向用户显示Error500自定义错误网页 - 我通过电子邮件收到的错误是:
未找到视图"错误"或其主控,或者没有视图引擎支持搜索的位置.以下地点搜索:〜/查看/博客/ Error.aspx〜/查看/博客/ Error.ascx〜/查看/共享/ Error.aspx〜/查看/共享/ Error.ascx〜/查看/博客/错误. cshtml~/Views/Blog/Error.vbhtml~/Views/Shared/Error.cshtml~/Views/Shared/Error.vbhtml
我不明白为什么ASP.NET MVC4正在寻找名为"Error"的视图,以及为什么MVC不会在web.config中搜索指定的视图(Error500).以下是适用的源文件:
Web.Config:
<customErrors mode="RemoteOnly" defaultRedirect="~/Error/Error500">
<error statusCode="404" redirect="~/Error/Error404" />
</customErrors>
Run Code Online (Sandbox Code Playgroud)
ErrorController文件:
public class ErrorController : Controller
{
public ActionResult Error500()
{
return View();
}
public ActionResult Error404()
{
return View();
}
}
Run Code Online (Sandbox Code Playgroud)
Error404.cshtml文件(位于/ Views/Error文件夹中):
@{
ViewBag.Title = "Oops...";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h1>That's interesting</h1>
<p>The page you were looking for could not be found.</p>
Run Code Online (Sandbox Code Playgroud)
Error500.cshtml文件(位于/ Views/Error文件夹中):
@{
ViewBag.Title = "Oops..."; …Run Code Online (Sandbox Code Playgroud) 使用 Angular 1.2.14,$resource 的成功回调应该返回一个对象,但它有时会得到一个 $promise。node/express Web 服务返回 null,但 Angular 将其解释为 $promise。当 Web 服务返回非空值时,成功回调按预期获取对象。
$resource('/api/users/:userId/team').get({ userId: userId }, function(team) {
console.log('team: ', team);
}, function(err) {
console.log('err: ', err);
});
Run Code Online (Sandbox Code Playgroud)
team(成功回调的参数)的值是:
$promise: Object
catch: function (callback) {
finally: function (callback) {
then: function (callback, errback, progressback) {
__proto__: Object
$resolved: true
__proto__: Resource
$delete: function (params, success, error) {
$get: function (params, success, error) {
$query: function (params, success, error) {
$remove: function (params, success, error) {
$save: function (params, success, …Run Code Online (Sandbox Code Playgroud) 我有一个带有数组属性的Mongo集合,数组中有"空"对象.我可以使用什么查询来定位只有{}的非空数组?
我试过的组合$exists,并$where无济于事.
我需要定位的数据示例:
"arrayProperty" : [ {} ]
Run Code Online (Sandbox Code Playgroud)
和
"arrayProperty" : [ {}, {} ]
Run Code Online (Sandbox Code Playgroud)
编辑:
这是架构的一个例子:
{
"_id" : ObjectId("53b1ca583d597ce7cbd54646"),
"arrayProperty" : [
{
"serialNumber" : "abc123",
"rfid" : "xyz098",
"size" : 95,
"points" : 50,
"frequency" : "Every day",
"dateAssigned" : ISODate("2011-02-10T15:27:39.000Z")
}
]
}
Run Code Online (Sandbox Code Playgroud)