我目前在我的几个应用程序中使用Enterprise Library的异常日志记录功能.
前段时间,我将Enterprise Library安装到我的机器上,以便从Visual Studio工具栏启动配置实用程序.在我的最新项目之前,一切都很棒.
几个星期前,我使用NuGet将我需要的企业库库下载到我的项目中.它提取的库是5.0.505.0版.我在我的机器上安装的企业库是5.0.414.0.我最初配置了项目中的所有内容,配置文件中的所有引用都设置为.414.当然,它不会运行,所以我将它们全部更改为.505,一切都运行了.现在问题是我需要进行一些更改,并且由于版本冲突,编辑器将无法运行.
所以,我检查了MSDN,我尝试下载此更新,但更新将无法运行,说明安装了较旧版本的Enterprise Library.
我考虑过卸载然后重新安装最新的企业库,这可能会有用.但是,我想检查是否有人知道更集成的升级方法?
有没有办法在不卸载和重新安装的情况下升级Enterprise Library?
昨天我们的自动构建机器出了问题.我们正在使用TFS Build服务器,当它试图自动下载NuGet包时,我们得到了臭名昭着的"底层连接已关闭:无法建立SSL/TLS安全通道的信任关系"错误.
关于为什么会发生这种情况,'网上有很多线索.那不是我的问题.通过更改NuGet存储库,可以很容易地修复它
https://nuget.org/api/v2/
Run Code Online (Sandbox Code Playgroud)
至
http://nuget.org/api/v2/
Run Code Online (Sandbox Code Playgroud)
要么
http://packages.nuget.org/v1/FeedService.svc/
Run Code Online (Sandbox Code Playgroud)
我想知道的是为什么存储库首先使用SSL?我认为这是有原因的,但我无法弄清楚是什么.没有需要安全性的登录.我想不出任何需要保密的信息.我只是想确保通过使用不安全的连接(工作得很好),我们不会以某种方式破坏我们的构建机器.
任何人都可以解释使用安全连接连接到NuGet所获得的收益吗?
我正在开发一个移动网络项目,需要知道用户设备指向的罗盘方向。现在非常简单,但这就是我所拥有的:
var updateDirection = function (evt) {
$("#direction").val(evt.alpha);
};
window.addEventListener("deviceorientation", updateDirection);
Run Code Online (Sandbox Code Playgroud)
根据我迄今为止的研究,事件的 Alpha 通道应该是指南针位置。然而,我观察到(并读到)有各种各样基于操作系统和浏览器的实现。
人们似乎已经实现了在移动浏览器中获取指南针方向,而不管设备如何。我可以使用一些库来执行此操作吗?或者是否有必要简单地针对许多不同的特定场景进行编码,例如本示例,该示例也不适用于列出的所有设备:
html javascript cross-platform compass-geolocation w3c-geolocation
我有以下CloudFormation模板。(它基于默认模板而创建,该模板是为在AWS Lambda中运行C#Web API而创建的,但这可能无关紧要。)
它创建一个AWS Lambda函数。如果没有将现有资源的名称作为参数提供,则该模板还会创建一个IAM角色和一个DynamoDB表。
那部分起作用。如果没有为角色和表提供名称,则将创建它们。
当我第二次运行模板以执行更新时,问题就存在了:此时,我的角色和表已经存在,因此我将名称作为参数提供。但是,当CloudFormation第二次运行时,它第一次创建的资源(角色和表)将被删除。
是否可以通过某种方式设置模板,以便在不存在新资源的情况下创建新资源,而在已经存在的情况下不删除它们呢?
我对CloudFormation并没有做很多事情,但确实浏览了文档。我发现最接近的是设置堆栈策略,但它似乎不是模板的一部分。事实看来,我似乎必须在管理控制台中执行此操作。
{
"AWSTemplateFormatVersion" : "2010-09-09",
"Transform" : "AWS::Serverless-2016-10-31",
"Description" : "...",
"Parameters" : {
"ShouldCreateTable" : {
"Type" : "String",
"AllowedValues" : ["true", "false"],
"Description" : "If true then the underlying DynamoDB table will be created with the CloudFormation stack."
},
"TableName" : {
"Type" : "String",
"Description" : "Name of DynamoDB table to be used for underlying data store. If left blank a new table will be created.", …
Run Code Online (Sandbox Code Playgroud) 我正在研究 AWS Step 函数。我已阅读有关InputPath、OutputPath 和 ResultPath 的文档。我的问题是我想将输入到 Lambda 任务的值与任务的部分输出相结合。
任务的输入类似于以下内容。我想继续将这些值传递给后续任务。
{
"previous_task_result": 100,
"next_task_input": "asdf"
}
Run Code Online (Sandbox Code Playgroud)
我想要的是让我的 Lambda 任务的输出看起来像这样:
{
"previous_task_result": 100,
"next_task_input": "asdf",
"current_task_result": {
"val1": "ghjk",
"val2": [0,2,13,100]
}
}
Run Code Online (Sandbox Code Playgroud)
具体问题是 Lambda 任务的原始输出看起来像这样。我只关心Payload
节点。其余的输出是样板文件,我宁愿不通过 Step Function。
{
"resourceType": "lambda",
"resource": "invoke",
"output": {
"ExecutedVersion": "$LATEST",
"Payload": {
"val1": "ghjk",
"val2": [0,2,13,100]
},
"SdkHttpMetadata": {
"HttpHeaders": {
"Connection": "keep-alive",
"Content-Length": "42",
"Content-Type": "application/json",
"Date": "Tue, 25 Feb 2020 14:36:29 GMT",
"X-Amz-Executed-Version": "$LATEST", …
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,在许多类中有许多单元测试.许多测试都有DeploymentItem属性来提供所需的测试数据:
[TestMethod]
[DeploymentItem("UnitTesting\testdata1.xml","mytestdata")]
public void Test1(){
/*test*/
}
[TestMethod]
[DeploymentItem("UnitTesting\testdata2.xml","mytestdata")]
public void Test1(){
/*test*/
}
Run Code Online (Sandbox Code Playgroud)
当测试单独运行时,它们会通过.当所有都立即运行时(例如,当我选择"在当前上下文中运行所有测试"时),某些测试失败,因为DeploymentItem
其他测试留下的s会导致测试获取错误的数据.(或者,测试错误地使用了尚未运行的另一个测试文件.)
我发现了这些[TestCleanup]
和[ClassCleanup]
属性,看起来会有所帮助.我补充说:
[TestCleanup]
public void CleanUp(){
if(Directory.Exists("mytestdata"))
Directory.Delete("mytestdata", true);
}
Run Code Online (Sandbox Code Playgroud)
麻烦的是,这在每个测试方法之后运行,并且似乎它将删除尚未运行的测试的DeploymentItems.[ClassCleanup]
会阻止这种情况,但不幸的是,它不会经常运行以防止原始问题.
从MSDN文档中,似乎DeploymentItem仅保证在测试执行之前文件将存在,但它并不比那更具体.我想我看到了以下问题:
有谁知道不同测试属性的执行顺序?我一直在寻找,但我找不到多少.
我曾想过让每个部署项目都使用自己独特的数据库文件夹,但这很难实现,因为需要进行数百次测试.
如何在asp.net
WebApi 中启用 CORS 选项?我Microsoft.AspNet.WebApi.Cors
从 nuget安装了用于 CORS 支持的软件包。但是,我收到一个错误,指出IAppBuilder
不包含app.useCors
?
在 SQL Server 数据库表中,我有一个整数 ID 列。这不是主键,更像是序列号。我没有能力更改表定义。
我有一个要求,用户能够搜索部分 ID。例如,“ID 包含‘801’”。
我可以直接执行以下查询:
select * from items
where item_num like '%801%'
Run Code Online (Sandbox Code Playgroud)
在 EF Core 中,我有以下内容:
Items.Where(x => x.ItemNumber.ToString().Contains(idPartString))
Run Code Online (Sandbox Code Playgroud)
这被翻译成:
WHERE ((CHARINDEX(@__idPart_2, CONVERT(VARCHAR(11), [x].[item_num])) > 0) OR (@__idPart_2= N''))
Run Code Online (Sandbox Code Playgroud)
是否有更好(更高效)的方法来实现此目的,而无需诉诸原始 SQL 查询?
c# ×2
.net ×1
aws-lambda ×1
aws-sdk ×1
cross-domain ×1
html ×1
javascript ×1
nuget ×1
nuget-server ×1
sql ×1
sql-server ×1
tfsbuild ×1
unit-testing ×1