鉴于我有两个相同类型的c#对象,我想比较它们来创建一个JsonPatchDocument.
我有一个像这样定义的StyleDetail类:
public class StyleDetail
{
public string Id { get; set; }
public string Code { get; set; }
public string Name { get; set; }
public decimal OriginalPrice { get; set; }
public decimal Price { get; set; }
public string Notes { get; set; }
public string ImageUrl { get; set; }
public bool Wishlist { get; set; }
public List<string> Attributes { get; set; }
public ColourList Colours { get; set; }
public SizeList Sizes { …
Run Code Online (Sandbox Code Playgroud) 我正在使用ac#self托管的OWIN服务器,并已将我的应用程序配置为使用JWT授权,如下所示.这样可以正常工作,并且使用401 Unauthorized拒绝无效令牌,并接受有效令牌.
我的问题是我怎么能写的日志,为什么请求被拒绝.它过期了吗?这是错误的观众吗?没有令牌存在吗?我希望记录所有失败的请求,但我似乎无法找到任何示例.
public class Startup
{
public void Configuration(IAppBuilder appBuilder)
{
// Configure Web API for self-host.
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
// Enable
config.Filters.Add(new AuthorizeAttribute());
appBuilder.UseJwtBearerAuthentication(new JwtOptions());
appBuilder.UseWebApi(config);
}
}
Run Code Online (Sandbox Code Playgroud)
JwtOptions.cs
public class JwtOptions : JwtBearerAuthenticationOptions
{
public JwtOptions()
{
var issuer = WebConfigurationManager.AppSettings["CertificateIssuer"];
var audience = WebConfigurationManager.AppSettings["CertificateAudience"];
var x590Certificate = Ap21X509Certificate.Get(WebConfigurationManager.AppSettings["CertificateThumbprint"]);
AllowedAudiences = new[] { audience };
IssuerSecurityTokenProviders = new IIssuerSecurityTokenProvider[]
{
new X509CertificateSecurityTokenProvider(issuer, new X509Certificate2(x590Certificate.RawData))
}; …
Run Code Online (Sandbox Code Playgroud) 在Youtube API中,可以请求"部分提要".
这允许应用程序开发人员通过指定要返回的"字段"来定制返回的数据的大小和结构.
ie GET api/person/1?fields=(id,email)
将返回仅包含id
和email
字段的DTO ,而不是整个人的响应.
您如何使用ServiceStack尝试此操作?有没有办法将回调附加到序列化程序来控制要包含在响应对象中的属性?