ODP.NET OracleCommand类具有CommandTimeout属性,可用于强制执行命令的超时.此属性似乎适用于CommandText是SQL语句的情况.示例代码用于说明此属性的实际应用.在代码的初始版本中,CommandTimeout设置为零 - 告诉ODP.NET不强制执行超时.
using System;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.Text;
using Oracle.DataAccess.Client;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
using (OracleConnection con = new OracleConnection("User ID=xxxx; Password=xxxx; Data Source=xxxx;"))
using (OracleCommand cmd = new OracleCommand())
{
con.Open();
cmd.Connection = con;
Console.WriteLine("Executing Query...");
try
{
cmd.CommandTimeout = 0;
// Data set SQL:
cmd.CommandText = "<some long running SQL statement>";
cmd.CommandType = System.Data.CommandType.Text;
Stopwatch watch1 = Stopwatch.StartNew();
OracleDataReader reader = cmd.ExecuteReader();
watch1.Stop(); …Run Code Online (Sandbox Code Playgroud) 我需要在Kendo UI Grid页脚模板中显示自定义计算.内置聚合不适用于业务需求.我找到了一种方法,使用下面显示的代码片段显示页脚模板中函数的结果.这段代码的关键点是:
function calc() {
// assume this to be dynamically determined
var field = "Value";
// assume this to be dynamically determined
var dataSource = window.ds;
// some custom calc logic
var newValue = 0;
$.each(dataSource.data(), function(index, model) {
newValue += model.get(field);
});
return newValue;
}
$(document).ready(function() {
window.ds = new kendo.data.DataSource({
data: [
{Name:"One", Value:1},
{Name:"Two", Value:1},
{Name:"Three", Value:1},
{Name:"Four", Value:1},
{Name:"Five", Value:1}
],
pageSize: 10,
schema: {
id: "Name",
fields: {
Name: { …Run Code Online (Sandbox Code Playgroud) 我正在网站上实施内容安全策略 (CSP)。以下是我正在测试的 CSP 策略。
Content-Security-Policy: script-src 'self' 'nonce-random' 'strict-dynamic';
Run Code Online (Sandbox Code Playgroud)
该网站使用第三方js脚本库。脚本库在页面上注入动态内容。动态内容具有内联事件处理程序。下面是一个简单的 HTML 页面,其中包含一个模仿网站 + 第三方库行为的脚本。
<!DOCTYPE html>
<html>
<head>
<title>CSP Test Page</title>
<script nonce="random">
document.addEventListener('DOMContentLoaded', function (event) {
var el = document.createElement('button');
el.innerHTML = 'Click Me';
el.setAttribute('onclick', "doSomething()");
document.body.appendChild(el);
});
function doSomething() {
alert('I did something.');
}
</script>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
动态添加的按钮上的内联事件处理程序会在 Chrome 控制台中触发以下错误消息:
拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令:“script-src 'self' 'nonce-random' 'strict-dynamic'”。启用内联执行需要“unsafe-inline”关键字、哈希值(“sha256-...”)或随机数(“nonce-...”)。
对于如何从 CSP 的角度解决此问题有什么建议吗?我无法更改使用内联事件处理程序添加动态生成的内容的第三方库的代码。
在 Chrome DevTools 的 Performance 选项卡上,Summary 面板显示了几类活动的时间——加载、脚本、渲染、绘画、系统、空闲。我似乎无法在 DevTools 文档中找到关于这些类别中的每一个代表什么的简明描述。我觉得我必须忽略一些明显的东西。
我发现这篇 SO post描述了渲染和绘画之间的区别。Loading 类别在我的脑海中仍然很模糊。它似乎与网络时间无关,因为我看到的加载时间明显短于我在网络选项卡上看到的请求时间。
任何人都可以指向我描述性能摘要类别的文档吗?
我有一个简单的 HTML 页面,如下所示:
<html>
<head>
<style>
BODY { margin:0px; padding:0px; background-color:#000000; color:#FFFFFF;}
/*H1 { margin:0px; }*/
.t-head { padding:10px; background-color:#0000FF; }
.t-body { background-color:#FFFFFF; color:#000000; /*padding:10px;*/}
.t-footer { padding:10px; background-color:#0000FF; color:#FFFFFF;}
</style>
</head>
<body>
<div class="t-head">Header content</div>
<div class="t-body">
<h1>Content Header</h1>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
nisi ut aliquip ex ea commodo consequat. Duis aute irure …Run Code Online (Sandbox Code Playgroud)