我有一些代码运行,如果你在加载时抓住并移动窗口,它将冻结.我不确定问题是什么,但我想我会发布我的代码,因为我在使用async/await方面相当新,只是想知道我的逻辑是否有问题.我不是说这导致了这个问题,我刚刚搜索并看到了其他问题,因为UI冻结和async/await经常出现.任何帮助,将不胜感激.
private async void BuildChart()
{
DateTime date = DateTime.Today;
using (Database db = new Database())
{
await BuildActual(date, db);
await BuildActual(date.AddDays(1),db);
}
}
private async Task BuildActual(DateTime date, Database db)
{
List<TimeSeries> actualValues = await Task<List<TimeSeries>>.Factory.StartNew(() =>
{
try
{
var wind = DoStuff(date, db);
if (wind == null) return null;
if (wind.Count == 0) return null;
return MakeTimeSeries(wind);
}
catch
{
return null;
}
});
try
{
if (actualValues == null) return;
DoMoreStuff(actualValues);
}
catch (Exception ex)
{ …Run Code Online (Sandbox Code Playgroud) 所以我在这里遇到了与这篇文章非常相似的问题。SOAP KeyInfo 值
我想在 KeyInfo 中添加一个引用,但似乎无法通过代码找到一种方法。
这是预期的输出应该是什么:
<KeyInfo>
<wsse:SecurityTokenReference>
<wsse:Reference URI="#SecurityTest" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
</wsse:SecurityTokenReference>
</KeyInfo>
Run Code Online (Sandbox Code Playgroud)
我确实在上面尝试引用的地方有这个:
<wsse:BinarySecurityToken ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="SecurityTest">Base64CertStuffBlahblah
</wsse:BinarySecurityToken>
Run Code Online (Sandbox Code Playgroud)
每次创建 KeyInfo 部分的尝试都只允许我插入一个项目,比如一个键,来填充这部分,但我只想要一个参考。这段代码是我一直在使用的代码,但目前并未创建我想要的代码。
//This creates a X509 clause but it's as far as I've got.
//The "keyInfoData" needs to be of a different type to allow custom reference?
var signer = new SignedXmlWithId(doc) {SigningKey = Key};
KeyInfo keyInfo = new KeyInfo();
KeyInfoX509Data keyInfoData = new KeyInfoX509Data();
keyInfoData.AddCertificate(cert);
keyInfo.AddClause(keyInfoData);
signer.KeyInfo = keyInfo;
Run Code Online (Sandbox Code Playgroud)
感谢您的关注,任何帮助将不胜感激。