我想实现report-uri
和report-to
在前端应用程序。
报告-uri:
我完成了扩展当前Content-Security-Policy
标头值的目标report-uri
,这是有效的:
<add name="Content-Security-Policy" value="default-src 'self' 'unsafe-inline' data: google.com; report-uri http://localhost:51260/api/csp/report;"/>
报告给:
按照我理解的说明,我需要添加两件事:新Report-To
标题和新指令,Content-Security-Policy
因此我已将字符串化的 json 转义为 report-to 并将它们添加到 web.config:
<add name="Report-to" value="{"endpoints":[{"url":"https://localhost:51260/api/csp/report-to"}],"include_subdomains":true,"group":"csp-endpoint","max_age":31536000}" />
<add name="Content-Security-Policy" value="default-src 'self' 'unsafe-inline' data: google.com; report-uri http://localhost:51260/api/csp/report; report-to csp-endpoint;"/>
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
未转义值:
{"endpoints":[{"url":"https://localhost:51260/api/csp/report-to"}],"include_subdomains":true,"group":"csp-endpoint","max_age":31536000}
以供参考:
我在数据库中有以下结构:
{
"_id" : ObjectId(""),
"title" : "something",
"id" : 1,
(...)
}
Run Code Online (Sandbox Code Playgroud)
基本上我想从以下集合中检索数据到我的班级:
[BsonIgnoreExtraElements]
public class Topic
{
[BsonElement("id")]
public int Id { get; set; }
[BsonElement("title")]
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
问题是这段代码不起作用 -> 执行时显示错误消息: Cannot deserialize a 'Int32' from BsonType 'ObjectId',但这一个可以:
[BsonIgnoreExtraElements]
public class Topic
{
[BsonIgnore]
public int Id { get; set; }
[BsonElement("title")]
public string Name { get; set; }
[BsonElement("id")]
public int IdTest { get; set; }
Run Code Online (Sandbox Code Playgroud)
似乎反序列化拼命地尝试将名称为“Id”的类属性与数据库中的 ObjectId 进行匹配,这是不正确的,因为我明确声明我想将其与 BsonElement("id") …
我想使用匿名参数测试方法执行,但使用已知属性。
public interface IToTest
{
void MethodToTest(object data);
}
Run Code Online (Sandbox Code Playgroud)
这就是我尝试实现这一目标的方法:
Mocker.Mock<IToTest>
.Verify(x=>x.MethodToTest(
It.Is<object>(
obj=>obj.Equals(new { DataProperty = "Test"})
)),
Times.Once());
Run Code Online (Sandbox Code Playgroud)
测试未通过。
我不想使用
It.IsAny<object>()
Run Code Online (Sandbox Code Playgroud)
因为我知道预期数据。