小编ado*_*ntz的帖子

TSQL - 带复合键的MERGE语句

我有表OrderLines(OrderID int,LineIndex int,)和相同结构的表值参数定义一个订单的新订单行.

所以,如果我有以下OrderLines

1000   1   bread
1000   2   milk
1001   1   oil
1001   2   yogurt
1002   1   beef
1002   2   pork
Run Code Online (Sandbox Code Playgroud)

和以下TVP

1001   1   yogurt
Run Code Online (Sandbox Code Playgroud)

我想获得以下OrderLines

1000   1   bread
1000   2   milk
1001   1   yogurt
1002   1   beef
1002   2   pork
Run Code Online (Sandbox Code Playgroud)

即只触摸一个订单的行.

所以我写了这样的查询

MERGE
    [OrderLines] AS [Target]
USING
(
    SELECT
        [OrderID], [LineIndex], [Data]
    FROM
        @OrderLines
)
AS [Source] ([OrderID], [LineIndex], [Data])
ON ([Target].[OrderID] = [Source].[OrderID]) AND ([Target].[LineIndex] = [Source].[LineIndex])
WHEN MATCHED THEN
    UPDATE
    SET
        [Target].[Data] = [Source].[Data]
WHEN NOT …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server sql-server-2012

9
推荐指数
1
解决办法
6704
查看次数

WCF扩展身份验证

我需要扩展内置的WCF身份验证,因此我的新身份验证应该与内置的身份验证并行工作.

例如,我想允许从注册的IP(自定义身份验证)或用户名+密码(内置身份验证)进行访问.

我已经成功地实现ServiceAuthenticationManagerServiceAuthorizationManager.

ServiceAuthenticationManager.Authenticate只需将IPrincipal实现添加到消息属性,从传入消息属性ServiceAuthorizationManager.CheckAccessCore复制IPrincipalAuthorizationContext属性.

但是,ServiceAuthenticationManager.Authenticate即使我返回authPolicybase.Authenticate调用结果,标准机制也完全被破坏了.

也许我走错了方向?添加自定义WCF身份验证的正确方法是什么,而不影响现有身份验证?如果自定义失败,如何回退到内置身份验证?

.net wcf wcf-security

6
推荐指数
1
解决办法
855
查看次数

Qt5客户端证书认证

我在 Windows 8.1 上安装了 Qt 5.4.0,在 ArchLinux 上安装了 Qt 5.4.2,并且得到了完全相同的结果。

我有需要客户端 SSL 证书的网站。自执行以来服务器似乎已正确配置

openssl s_client -connect myserver:443 -cert client.crt -key client.key
Run Code Online (Sandbox Code Playgroud)

印刷

Verify return code: 0 (ok)
Run Code Online (Sandbox Code Playgroud)

还,

 curl --cert client.pem https://myserver/
Run Code Online (Sandbox Code Playgroud)

工作得很好。

服务器证书有效,浏览器接受它等。客户端证书是自签名的。以防万一,服务器是 nginx,这里是相关的配置片段

listen                         *:443 ssl;

server_name                    myserver;

ssl                            on;
ssl_certificate                /etc/nginx/ssl/myserver.crt;
ssl_certificate_key            /etc/nginx/ssl/myserver.key;
ssl_dhparam                    /etc/nginx/ssl/myserver.dh;
ssl_protocols                  TLSv1.1 TLSv1.2;
ssl_ciphers                    "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
ssl_prefer_server_ciphers      on;
ssl_client_certificate         /etc/nginx/ssl/ca.crt;
ssl_verify_client              on;
Run Code Online (Sandbox Code Playgroud)

但是下面最简单的Qt5应用

#include <qcoreapplication.h>
#include <qfile.h>
#include <qnetworkaccessmanager.h>
#include <qnetworkconfiguration.h>
#include <qnetworkproxy.h>
#include <qnetworkreply.h>
#include <qnetworkrequest.h>
#include <qsslcertificate.h>
#include <qsslconfiguration.h>
#include <qsslkey.h> …
Run Code Online (Sandbox Code Playgroud)

ssl qt client-certificates qnetworkaccessmanager qt5.4

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

Python 协程的回溯

假设我有以下代码:

from types import coroutine

@coroutine
def stop():
    yield 1

async def test2():
    await stop()

async def test1():
    await test2()
    await test2() # Here
    await test2()

coro = test1()
coro.send(None)
coro.send(None)
Run Code Online (Sandbox Code Playgroud)

如何获得当前协程状态的回溯(回溯对象),即标有注释的行,而不人为地抛出不需要的异常?

coroutine python-3.x python-asyncio

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

for循环中的变量之后的php变量

我需要一种方法来做到这一点

for($i=1;$i<=10;$i++){
$id$i = "example" . $i;
}
Run Code Online (Sandbox Code Playgroud)

注意第二行有$ id $ i所以对于第一个循环$ id1将等于第二个循环中的example1 $ id2将等于example2,依此类推......非常感谢你!

php

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

尝试解析JSON时的ValueError

我使用Python 3.4并且必须像这样解析JSON

[['A', 'B', 1.3750], ['X', 'Y', 0.7097]]
Run Code Online (Sandbox Code Playgroud)

我尝试使用json模块,json.loads函数将其解析为python对象,但我得到了

ValueError: Expecting value: line 1 column 3 (char 2)
Run Code Online (Sandbox Code Playgroud)

那么,我该怎么做来解析这个JSON呢?

python json

0
推荐指数
1
解决办法
63
查看次数

Qt5 QML QVariantMap 与更改通知绑定

我有 QVariantMap (不是 QObject,因为属性名称没有预定义)。我将 QVariantMap 注入到 QML 根上下文中以使用属性值进行绑定。

问题是,当我更改 QVariantMap 或什至当我更改 QVariantMap 并为更新的对象调用 setContextProperty 时,或者当我更新(使用 fromValue) contextProperty 返回的对象时,什么也没有发生。所以这看起来像是一次性绑定。

那么,以可观察的方式将 Map 或 Map 注入 QML 上下文中的正确方法是什么,以便映射中的更改项目将反映在 QML 中?

binding qt qml qt5 qt5.4

0
推荐指数
1
解决办法
3900
查看次数