コード例 #1
0
 /// <summary>
 ///     Configure System.Text.Json with defaults for launchpad
 /// </summary>
 /// <param name="options"></param>
 /// <param name="dateTimeZoneProvider"></param>
 /// <returns></returns>
 public static JsonSerializer ConfigureNodaTimeForLaunchPad(this JsonSerializer options, IDateTimeZoneProvider dateTimeZoneProvider)
 {
     options.Converters.Add(new StringEnumConverter(new CamelCaseNamingStrategy()));
     options.ConfigureForNodaTime(dateTimeZoneProvider);
     ReplaceConverters(options.Converters, dateTimeZoneProvider);
     return(options);
 }
コード例 #2
0
        public JsonSerializer CreateJsonSerializer()
        {
            var jsonSerializer = new JsonSerializer();

            jsonSerializer.ConfigureForNodaTime(DateTimeZoneProviders.Tzdb);
            jsonSerializer.NullValueHandling = NullValueHandling.Ignore;
            jsonSerializer.ContractResolver  = new CamelCasePropertyNamesContractResolver();
            return(jsonSerializer);
        }
コード例 #3
0
ファイル: JObjectExtensions.cs プロジェクト: tle5/elsa-core
        private static JsonSerializer CreateSerializer()
        {
            var serializer = new JsonSerializer();

            serializer.ConfigureForNodaTime(DateTimeZoneProviders.Tzdb);
            serializer.NullValueHandling              = NullValueHandling.Ignore;
            serializer.ReferenceLoopHandling          = ReferenceLoopHandling.Serialize;
            serializer.PreserveReferencesHandling     = PreserveReferencesHandling.Objects;
            serializer.TypeNameAssemblyFormatHandling = TypeNameAssemblyFormatHandling.Simple;
            serializer.TypeNameHandling = TypeNameHandling.Auto;

            return(serializer);
        }
コード例 #4
0
ファイル: Startup.cs プロジェクト: hangy/didactic-octo-waddle
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddSingleton(x =>
            {
                var js = new JsonSerializer();
                js.ConfigureForNodaTime(XmlSerializationSettings.DateTimeZoneProvider).WithIsoIntervalConverter();
                return(js);
            });

            services.AddSignalR();

            services.AddMvc()
            .AddNewtonsoftJson(options =>
            {
                options.SerializerSettings.ConfigureForNodaTime(XmlSerializationSettings.DateTimeZoneProvider).WithIsoIntervalConverter().WithIsoDateIntervalConverter();
            }).AddControllersAsServices();

            services.RegisterInfrastructure(this.Configuration.GetConnectionString("EventStore"));

            services.AddCors(options =>
            {
                options.AddPolicy("CorsPolicy",
                                  builder => builder.AllowAnyOrigin()
                                  .AllowAnyMethod()
                                  .AllowAnyHeader()
                                  .AllowCredentials());
            });

            services.AddAuthorization(options =>
            {
                options.AddPolicy("TeamMember", policy => policy.AddRequirements(new TeamMemberRequirement()));
            });

            services.AddSingleton <IAuthorizationHandler, TeamMemberHandler>();

            ConfigureMediatR(services);
        }