我目前正在与第三方创建的系统集成.该系统要求我使用XML/HTTPS发送请求.第三方发给我证书,我安装了它
我使用以下代码:
using (WebClient client = new WebClient())
{
client.Headers.Add(HttpRequestHeader.ContentType, "text/xml");
System.Text.ASCIIEncoding encoding=new System.Text.ASCIIEncoding();
var response = client.UploadData(address, "POST", encoding.GetBytes(msg));
}
Run Code Online (Sandbox Code Playgroud)
此代码返回以下内容WebException:
底层连接已关闭:无法为SSL/TLS安全通道建立信任关系.
更新因为它是我正在反对的测试服务器,证书不受信任且验证失败...要在测试/调试环境中绕过它,请创建一个新的ServerCertificateValidationCallback
ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback(bypassAllCertificateStuff);
Run Code Online (Sandbox Code Playgroud)
这是我的"假"回调
private static bool bypassAllCertificateStuff(object sender, X509Certificate cert, X509Chain chain, System.Net.Security.SslPolicyErrors error)
{
return true;
}
Run Code Online (Sandbox Code Playgroud)
我理解它们之间的区别i++ and ++i,但我不太清楚为什么我得到以下结果:
static void Main(string[] args)
{
int c = 42;
c = c++;
Console.WriteLine(c); //Output: 42
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,因为这是将变量赋值给自己然后递增值,我希望结果是43.然而,它正在回归42.使用时也得到相同的结果c = c--;.
我意识到我可以简单地使用c++;并完成它,但我更好奇它为什么表现得如此.谁能解释一下这里发生了什么?
我有一个使用同步API来获取其数据的应用程序,并且需要在本地存储所有数据.数据集本身非常大,我不愿意将它存储在内存中,因为它可以包含数千条记录.由于我不认为实际的数据结构是相关的,让我们假设我正在构建一个需要离线访问的电子邮件客户端,并且我希望我的存储机制是IndexedDB(它是异步的).
我知道一个简单的解决方案是不将数据结构作为我的状态对象的一部分,并且仅使用所需数据填充状态(例如,当触发EMAIL_OPEN操作时将电子邮件内容存储在状态中).这很简单,特别是对于redux-thunk.
但是,这意味着我需要妥协两件事:
有关如何将redux与非内存状态属性一起使用的最佳实践吗?我发现最难解决的问题是redux依赖于同步API,因此我无法用异步状态对象替换我的状态对象(除非我完全删除redux并将其替换为我自己的异步实现和连接器).
我找不到使用谷歌的答案,但如果已经有很好的资源,我也很乐意指出.
更新:问题得到了回答,但想要更好地解释我是如何实现它的,以防有人遇到它:
主要思想是使用简单的redux reducer维护客户端和服务器的更改列表,并使用连接器监听这些更改列表以更新IDB,并使用客户端更改来更新服务器:
这种方法唯一需要注意的是,由于真实状态存储在IDB中,因此我们确实失去了拥有一个状态对象的一些价值(并且更难以倒带/快进状态)
我正在使用SQL Server 2008 R2并且有一个VARCHAR我想要转换为DECIMAL(28,10)使用的列CONVERT.但是其中许多行格式错误,因此无法将它们解析为数字.在这种情况下,我只想通过将结果设置为0或NULL来跳过这些.
我知道SQL Server 2012(TRY_CONVERT())中有一个新的语句会很方便.
这可能是在2008年还是我必须等到我们更新到下一个版本的SQL 2012?
编辑
不幸的ISNUMERIC()是,在这种情况下不可靠.我试过了
ISNUMERIC(myCol) = 1
Run Code Online (Sandbox Code Playgroud)
对于CONVERT无法转换为的行,返回true DECIMAL.
我想在我的SQL表中插入一条新记录.我试过了:
public void CreateComment(int questionId, string comment)
{
QuestionComment questionComment = context.TableName.Create();//1*
questionComment.propertyThatIsNotAConstraint= questionId;
questionComment.body = comment;
context.QuestionComments.Add(questionComment);
context.SaveChanges();//ERROR...
}
Run Code Online (Sandbox Code Playgroud)
1*我很惊讶地看到intellisense告诉我: "请注意,新实体未添加或附加到集合中"
错误读取:
"违反PRIMARY KEY约束'PK_TableName'.无法在对象'dbo.TableName'中插入重复键.重复键值为(0).\ r \n语句已终止."
问题是它questionComment有PK:questionComment.Id默认为0.它需要是下一个可用的标识,否则不会填充并执行"正常"标识插入.
实体框架如何期望我处理这个场景?
按照要求:
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Feedback.Models …Run Code Online (Sandbox Code Playgroud) 我正在运行以下查询以获得员工表中的第三高薪并且它工作正常,但我无法理解其逻辑.子查询值如何与主查询匹配(左侧部分).有人可以解释一下这个查询背后的逻辑是什么吗?
select e1.salary
from employee as e1
where 3 = (select count(salary)
from employee as e2
where e1.salary<=e2.salary)
Run Code Online (Sandbox Code Playgroud)
PS:我可以理解count()返回的行数(所有记录都是唯一的).
所以我很困惑这是如何工作的.鉴于:
template <typename T>
int foo(T t) { t.foo(); }
Run Code Online (Sandbox Code Playgroud)
似乎这个调用应该失败:
decltype(foo(int{ 13 })) fail = 42;
cout << fail << endl;
Run Code Online (Sandbox Code Playgroud)
相反它只是打印:
42
它以我可访问的所有编译器的方式工作.这是正确的行为吗?我请求C++标准的引用.
嗨,我有一个餐桌设施.每天持有一个分数(每天可以报告多个分数,两者都有效)
我需要按月计算得分的第90个百分点,标准差和平均值.
设施:
Id Month Date score
1 Jan 1 5
1 Jan 1 5
1 Jan 2 3
1 Jan 3 4
1 Jan 4 4
1 Jan 5 4
1 Feb 1 5
1 Feb 1 5
1 Feb 2 3
1 Feb 3 4
1 Feb 4 4
1 Feb 5 4
Run Code Online (Sandbox Code Playgroud)
有什么办法吗?
谢谢你的帮助.
我有一个运行脚本任务的SSIS包(主要是和其他一些东西).脚本任务使用OleDB连接连接到Access数据库.这是Microsoft Jet 4.0连接.我安装了驱动程序.但它不会通过代理帐户在SQL Agent中运行.它可以直接从Visual Studio和包存储中运行.事实上,当我以代理所附带的特殊帐户登录时,它在这两个地方都运行良好.但是,当我通过SQL Server代理运行时,我得到了可怕的"未指定错误"OleDbException.
脚本任务的相关代码:
// class field
private string accessConnectionStringTemplate = "Data Source=\"{0}\";Provider=Microsoft.Jet.OLEDB.4.0;";
// in method that connects to database
Print(file, "Connection string: " + string.Format(accessConnectionStringTemplate, file.FileName));
// outputs: Data Source = "\Path\To\File";Provider=Microsoft.Jet.OLEDB.4.0"
using(access = new OleDbConnection(string.Format(accessConnectionStringTemplate, file.FileName))) {
access.Open();
// other code
}
Run Code Online (Sandbox Code Playgroud)
通过SQL代理作业历史记录的错误消息:
Started: 12:35:10 PM
Error: 2016-11-03 12:35:33.51
Code: 0x00000000
Source: Import Files Main
Description: Exception: Unspecified error
End Error
Error: 2016-11-03 12:35:33.51
Code: 0x00000000
Source: Import Files Main
Description: at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection …Run Code Online (Sandbox Code Playgroud) 让我们假设下表:
Name SubName Message Time
USA MA M1 1
USA NY M2 2
USA WA M3 3
USA MA M4 4
USA WA M5 5
USA NY M6 6
FIN HEL M7 7
FIN TAM M8 8
FIN HEL M9 9
Run Code Online (Sandbox Code Playgroud)
我想要一个SQL查询,它将返回以下内容:
Name SubName Message Time
FIN HEL M9 9
FIN TAM M8 8
USA NY M6 6
USA WA M5 5
USA MA M4 4
Run Code Online (Sandbox Code Playgroud)
所以a ORDER BY time DESC,按不同的名称分组,并按不同的子名称分组.
这可能吗?我正在寻找一种不是DBMS特定的解决方案 - 可以在大多数DBMS中运行.
sql ×4
sql-server ×4
c# ×3
c++ ×1
compilation ×1
decltype ×1
https ×1
javascript ×1
oledb ×1
redux ×1
sql-agent ×1
ssis ×1
templates ×1
webclient ×1