小编Lar*_*ard的帖子

使用此查询实现分页(跳过/获取)功能

我一直试图了解如何在SQL中实现自定义分页,例如阅读像这样的文章.

我有以下查询,它完美地工作.但我想用这个实现分页.

SELECT TOP x PostId FROM ( SELECT PostId, MAX (Datemade) as LastDate
 from dbForumEntry 
 group by PostId ) SubQueryAlias
 order by LastDate desc
Run Code Online (Sandbox Code Playgroud)

我想要的是什么

我有论坛帖子,有相关条目.我想获得最新添加的条目的帖子,所以我可以选择最近辩论的帖子.

现在,我希望能够获得"最近10到20个活跃的帖子",而不是"前10名".

我试过了什么

我试图将ROW函数实现为文章中的那个,但实际上没有运气.

有什么想法如何实现呢?

sql sql-server pagination join

118
推荐指数
4
解决办法
12万
查看次数

ASP.NET MVC Razor中的新的空条件运算符

所以自从C#6.0问世以来,我一直在使用null条件运算符.例:

Model?.Person?.Zip
Run Code Online (Sandbox Code Playgroud)

但是,我现在有一种情况,我有一个解决方案,客户在视图中的域模型上运行.虽然我会用斧头追捕开发人员,但我发现在视图中进行一些空检查会更容易.

但是,当我在Razor中使用它时:

@Model?.Person?.Zip
Run Code Online (Sandbox Code Playgroud)

Model?被看作是动态的,但?打破了动态的东西,休息被渲染为文本.

你是如何解决这个问题的?

c# asp.net-mvc razor c#-6.0

44
推荐指数
3
解决办法
7346
查看次数

Facebook登录 - 如何在localhost和生产中进行开发?

我正在开发一个使用Facebook登录的网站.现在,我希望能够在我的生产环境以及开发环境中使用它.

在Facebook上,我可以提供一个网站网址,Facebook可以重定向到.这在我的开发阶段很有效,但现在我希望它既可以用于生产,也可以用于开发我的解决方案.

我想有一种方法是使用我的domain-navn在本地IIS上运行我的应用程序并更改我的主机文件,但这不是最容易解决的问题!?

- 在两种环境中使其工作的最简单方法是什么?

security deployment iis facebook

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

在MEAN应用程序中处理路由的Express.js或angular?

我对Nodejs/express/angular的所有内容都是全新的,我只是碰到了困扰我的问题.

当你有一个MEAN堆栈,似乎路由可以通过两种处理Express.jsAngular.

角度:

例如,如果我在Angular中定义路由,我可以这样做:

var app = angular.module("app", []).config(function($routeProvider) {
    $routeProvider.when('/login', {
        templateUrl: '/templates/login.html',
        controller: 'LoginController'
    });

    $routeProvider.when('/front', {
        templateUrl: '/templates/front.html',
        controller: 'FrontController'
    });


    $routeProvider.otherwise({redirectTo: '/front'})
});
Run Code Online (Sandbox Code Playgroud)

但是使用express.js我做:

app.get('/',function(req,res){
    res.sendfile('templates/angular.html');
});
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:

什么时候使用角度路由,何时使用快速路由?

(我可能会想念一些非常明显的东西,但我希望你能指出来)

routes node.js angularjs mean-stack

27
推荐指数
1
解决办法
7341
查看次数

Azure Web App(ASP.NET MVC)每十分钟变冷一次,需要加载10到20秒

我对Azure Web App有一个非常奇怪的问题,我对此感到非常沮丧.

我们的应用程序在使用时非常快速且反应灵敏,但是,如果我们不使用它大约十分钟,它的启动非常冷(~10-20秒).这种冷启动仅在涉及数据库时才会发生.当它有点像我们发布网络应用程序时.

我们的尝试

在Azure中使用Application Insights,我们每隔5分钟设置一次ping:

在此输入图像描述

异常值总是由我的部署引起(现在不使用部署槽).但是,此登录页面不会调用我们的数据库,因此我们看不到这些数据中的"冷"启动.

应用程序设置应该是可靠的.我们的网络应用程序托管在北欧,具有Always on:

在此输入图像描述

我们刚刚将整个设置移至新的资源组/应用服务计划,以确保我们的问题与我们的其他应用程序纠缠在一起.新的应用服务计划是一个Standard 1 small,这应该不是问题.看看我们的消费情况,我并不担心,甚至可能尝试一下我解决问题后会做的小型服务:

在此输入图像描述

我们的SQL数据库也托管在北欧(检查位置十亿次,因为我之前犯了这个错误).

就像app服务一样,我们选择了"太大"的硬件来确保不会导致问题(标准S0:10 DTU).使用率低得离谱:

在此输入图像描述

我们确实使用持续部署(Deployment options在Azure菜单中),但是在查看部署时,它不应该经常部署:

在此输入图像描述

令人沮丧的是,应用程序在工作时具有超级响应性.当它"温暖"时,每个页面都会在几秒钟内加载,就像我的网络应用程序上显示的平均响应时间一样:

在此输入图像描述

但是当我们(或我们的用户!)使用我们的应用程序时,这些数字是完全错误的.在这里,我们经历了第一次+ 10-20秒的负载.

有谁有想法吗?任何提示?你不知道我会多么感激.

编辑和更新1:

我决定再设置一些测试.我现在设法通过调用另一个页面来获得显示我们问题的真实数据.具有讽刺意味的是,这个页面不会调用数据库,所以虽然我认为这是一个数据库问题,但它似乎不是这样的.在这里看到挑战(趋势持续+24小时).

奇怪的是它的稳定性大约是10秒.趋势似乎不是每10-20分钟,而是接近每5分钟 - 它们之间的间隔完全相同:

在此输入图像描述

编辑和更新2:

我一直在挖掘更多.事实证明,有一些非常有趣的见解:来自编辑1的"慢速"11秒调用仅来自美国东部和一个端点(http://prntscr.com/jcv69w),以及

我找到的最有趣的事情如下:

应用程序本身没有任何缓存.我使用实体框架,我假设使用一些缓存,但这就是全部.

我登录了我们的应用程序,并在Chrome中点击了.我发现,我访问过的页面是即时显示的(使用来自数据库的数据),但如果我打开一个新页面,它会加载缓慢.在我第一次打开页面时,似乎正在缓存某些实体.

然后我尝试在新的浏览器中打开应用程序.如果我打开了之前在Chrome中打开的页面,它会立即打开.如果我打开了一个我之前没有点击的新页面,它将会有~10秒的负载.

我现在最好的猜测是我使用的实体框架出于某种原因提出了问题.

编辑3:

刚刚添加了赏金,并且正在设置大量的日志记录.我添加了MiniProfiler,但无法让它在生产中工作(仅在本地请求中显示).

我还在global.asax中添加了日志记录Application_Start,Application_BeginRequestApplication_EndRequest在那里查看了一些和状态.将尽快更新结果.

编辑4:

所以现在我有了第一个有趣的数字.该应用程序没有被回收.Application_Start只被叫一次.

我可以看到通过登录的时间差EndRequestBeginRequest.我可以看到有多个调用,这两个调用之间需要超过+15秒......但是当网站温暖时,根据页面需要大约0.5-2秒.所以在请求的开始和结束之间发生了一些非常奇怪的事情.进一步调试!

编辑5:

让MiniProfiler工作.以下是慢负载(~15秒)的示例:

在此输入图像描述

我的下一步是添加实体框架跟踪,甚至更多线路调用.我在数据库上赚了钱!

编辑6:

Okidoki,我错了.它的渲染方法很慢 - 而不是数据库!我不知道如何调试这个... 到谷歌!

在此输入图像描述

编辑7:

是时候再次更新了.现状是:没有解决任何问题.

所以我尝试了很多东西:

1)我试图禁用所有类型的缓存(使用属性阻止ASP.NET MVC中的缓存以获取特定操作)并且我有相同的行为.首次加载?慢.下次加载?快速.等待5-10分钟,相同的行为所以没有解决.

2)我的startup.auth文件中有一些自定义的东西,延迟5分钟.删除.不是问题.

3)我使用自定义属性进行授权.我删除了.

4)我更新了我的实体框架实现,使其在每个请求中工作

我真的很沮丧.我的下一步是:

A)尝试制作相同页面的5-10个版本(没有_layout,带有布局,带数据库,没有数据库,有依赖注入,没有......所有这些),所以看看我是否能找到一个模式. …

asp.net asp.net-mvc azure azure-web-sites devops

18
推荐指数
1
解决办法
1292
查看次数

Mongoose和新Schema:返回"ReferenceError:Schema未定义"

我正在创建一个新的示例应用程序,我尝试通过Mongoose连接到MongoDB数据库.

我在我的service.js文件中创建了一个新的模式,但是当我运行时出现以下错误nodemon app.js:"ReferenceError: Schema is not defined"

App.js代码:

var http = require('http');
var express = require('express');
var serials = require('./service');
var app = express();
var mongoose = require('mongoose');


var port = 4000;
app.listen(port);

mongoose.connect('mongodb://localhost:27017/serialnumbers')

app.get('/api/serials',function(req,res){
    serials.getSerial(req, res, function(err, data) {
        res.send(data);
    });
});
Run Code Online (Sandbox Code Playgroud)

Service.js代码:

var mongoose = require('mongoose');

var serialSchema = new Schema({
    serial: {type: String},
    game: {type: String},
    date: {type: Date, default: Date.now},
});
mongoose.model('serials', serialSchema);

exports.getSerial = function(req,res,cb) {
    mongoose.model('serials').find(function(err,data) {
        cb(err,data);
    }); …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js

16
推荐指数
3
解决办法
2万
查看次数

降低字符串时解析枚举

我有一个非常有趣的问题,我不确定你甚至可以使用这种方法解决.

我有一些字符串,全部是小写的.我们称之为businesslaw.现在,我有一个枚举类型,其值为BusinessLaw.

我想要做的是将businesslaw字符串转换为BusinessLaw枚举类型.

通常我会通过这样做来接近它:

return (EnumType) (Enum.Parse(typeof (EnumType), value));
Run Code Online (Sandbox Code Playgroud)

但是,当存在一些案例差异时,这是不可能的.

你会如何解决这个问题?或者它是天生的,不可解决的?

.net c# enums .net-4.5

15
推荐指数
1
解决办法
3306
查看次数

身体上的动态背景图像(ASP.NET)

我有一种情况,我在一个文件夹中有~10-20个不同的背景图像.当我的网站加载时,我需要根据数据库中的某些值选择这些图像中的特定图像.

我想在body标签上使用runat = server,然后在page_load上动态添加属性,但是在我读过这个建议的时候,人们都认为这是一个非常糟糕的主意......而且,我试过了,它没有工作(但没有调试太多).

如何以"正确的方式"做到这一点?:-)

html css asp.net dynamic-data

14
推荐指数
2
解决办法
3万
查看次数

如何使用NPM并在Visual Studio 2017中安装包?

我有一个简单的Visual Studio解决方案,运行ASP.NET Core v2并构建一个React应用程序.

现在,我想使用NPM安装一个简单的组件.在这个特定的例子中,它可能是:

npm install --save react-bootstrap-typeahead
Run Code Online (Sandbox Code Playgroud)

我希望这个软件包只在我的解决方案中工作,而不是其他任何地方.

我的结果:

当我运行它时,我得到以下很好的错误,这显然是有道理的.如果NPM认为它可以找到我的项目文件'C:\Users\LarsHoldgaard\package.json',那就不走运了.正确的道路是C:\Users\LarsHoldgaard\Documents\Github\Likvido.CreditRisk\Likvido.CreditRisk\Likvido.CreditRisk.

npm : npm WARN saveError ENOENT: no such file or directory, open 'C:\Users\LarsHoldgaard\package.json'
At line:1 char:1
+ npm install --save react-bootstrap-typeahead
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (npm WARN saveEr...d\package.json':String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

npm

WARN

enoent
 ENOENT: no such file or directory, open 'C:\Users\LarsHoldgaard\package.json'

npm

WARN
 grunt-sass@2.0.0 requires a peer of grunt@>=0.4.0 but none is installed. You must install peer dependencies …
Run Code Online (Sandbox Code Playgroud)

asp.net visual-studio npm asp.net-core visual-studio-2017

14
推荐指数
5
解决办法
3万
查看次数

如何在Web API的服务上下文中访问用户?

如果您位于控制器上下文中,则可以访问当前经过身份验证的用户.在ApiController操作中获取诸如获取当前用户之类的文章,而不将userID作为参数传递.

但是,如果我的控制器调用一个服务(同一个程序集),但在这里我没有控制器上下文.

实际获得经过身份验证的用户的最佳方法是什么?

asp.net asp.net-web-api asp.net-identity asp.net-web-api2

12
推荐指数
1
解决办法
1501
查看次数