小编Ian*_*emp的帖子

我如何计算耶稣受难日的日期,给定一年?

有没有人有一个很好的算法来计算耶稣受难日的日期作为输入?最好是在C#中.

c# algorithm date date-arithmetic computus

34
推荐指数
2
解决办法
3万
查看次数

浮点异常C++为什么以及它是什么?

我正在为Euler项目问题​​3构建一个程序,虽然这可能并不重要,因此我当前正试图使这个代码取一个数字并测试它是否是素数.现在,在我对函数进行故障排除之前,它在输入数字后立即给出了错误"浮点异常".这是代码:

int main()
{
    int input;
    cout << "Enter number: " << endl;
    cin>> input;
    int i = input/2;
    int c;
    for (i>0; i--;) {
        c= input%i;
        if (c==0 || i == 1)
            cout << "not prime" << endl;
        else
            cout << "prime" << endl;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

所以本质上为什么它给我一个浮点异常,这甚至意味着什么?

c++ floating-point

33
推荐指数
4
解决办法
18万
查看次数

枚举类型不再适用于 .Net core 3.0 FromBody 请求对象

我最近将我的 web api 从 .Net core 2.2 升级到 .Net core 3.0,并注意到当我将帖子中的枚举传递给我的端点时,我的请求现在出现错误。例如:

我的 api 端点有以下模型:

    public class SendFeedbackRequest
    {
        public FeedbackType Type { get; set; }
        public string Message { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

反馈类型如下所示:

    public enum FeedbackType
    {
        Comment,
        Question
    }
Run Code Online (Sandbox Code Playgroud)

这是控制器方法:

    [HttpPost]
    public async Task<IActionResult> SendFeedbackAsync([FromBody]SendFeedbackRequest request)
    {
        var response = await _feedbackService.SendFeedbackAsync(request);

        return Ok(response);
    }
Run Code Online (Sandbox Code Playgroud)

我将它作为帖子正文发送给控制器的地方:

{
    message: "Test"
    type: "comment"
}

Run Code Online (Sandbox Code Playgroud)

我现在收到以下错误发布到此端点:

The JSON value could not be converted to MyApp.Feedback.Enums.FeedbackType. Path: $.type | LineNumber: 0 | …

c# asp.net-core-webapi asp.net-core-3.0 .net-core-3.0

33
推荐指数
3
解决办法
1万
查看次数

为什么在Kotlin中null*null的类型是隐式String?

以下Kotlin代码:

val x = null + null
Run Code Online (Sandbox Code Playgroud)

结果x是类型String,这是正确的,根据文档String.plus:

将此字符串与给定[other]对象的字符串表示形式连接起来.如果receiver或[other]对象为null,则表示为字符串"null".

但是,我不明白为什么会发生这种情况 - 是否是由于该语言的一些特殊功能?

string nullable kotlin

32
推荐指数
2
解决办法
1952
查看次数

.NET 4.5.1中的WCF客户端:如何在使用WebRequest时启用TLS 1.2?

我们的.net WCF客户端,WebRequest调用,编译到运行在Win2012-R2上的Windows EXE,拒绝连接到仅面向TLS 1.2的Web服务器

我们知道Win2012和.NET 4.5x支持TLS 1.2

当服务器表面TLS 1.0及更高版本时,我们没有问题.只有当我们连接的服务器具有DISABLED TLS 1.0,1.1和SSL2以及SSL3时才会出现此问题.Server ONLY表面TLS 1.2.Chrome和firefox(在Win 7及更高版本上)可以很好地连接到服务器(没有任何警告或SSL问题).

服务器证书是%100 OK.

问题是WebRequest在这种情况下无法连接.

我们需要在代码中设置什么,以便我们使用WebRequest将连接到可能运行TLS 1.2,1.1,1.0和/或SSL v3的系统?

.net wcf

30
推荐指数
2
解决办法
5万
查看次数

如何在aspnetcore/entityframeworkcore中设置命令超时

设置命令超时的位置不再与早期版本相同.

但是,我找不到任何说明如何改变它的地方.

我正在做的是上传非常大的文件,这需要超过默认的30秒保存.

请注意,我在另一个问题中询问命令超时,而不是迁移超时.

c# entity-framework-core asp.net-core

28
推荐指数
5
解决办法
2万
查看次数

如何在ConfigureServices方法中获取IOptions?

我有asp.net核心应用程序.我想使用IOptions模式从appsettings.json注入值.所以我有一个类SecurityHeaderOptions,并且还有目标类,SecurityHeadersBuilder其构造函数IOptions<SecurityHeaderOptions>作为参数.

我知道.net核心可以在用容器注册后SecurityHeadersBuilder通过注入隐式创建实例IOptions<SecurityHeaderOptions>.

但是,我想显式创建实例SecurityHeadersBuilder,调用其方法之一,然后使用容器注册实例.

public sealed class SecurityHeaderOptions
{
    public string FrameOption { get; set; }    
    public string XssProtection { get; set; }
}


public class SecurityHeadersBuilder
{
    private readonly SecurityHeaderOptions _options = null;

    public SecurityHeadersBuilder(IOptions<SecurityHeaderOptions> options)
    {
        _options = options.Value;    
    }

    public SecurityHeadersBuilder AddDefaultPolicy()
    {
        AddFrameOptions();
        AddConetntSecurityPolicy();
        return this;
    }
}
Run Code Online (Sandbox Code Playgroud)

ConfigureServices方法

public void ConfigureServices(IServiceCollection services)
{        
    services.Configure<SecurityHeaderOptions>(Configuration.GetSection("SecurityHeaderOptions"));

    services.AddScoped<SecurityHeadersBuilder>(provider => 
           new SecurityHeadersBuilder(?????).AddDefaultPolicy())
}
Run Code Online (Sandbox Code Playgroud)

问题
1>如果我明确地将选项传递给构造函数,我是否需要SecurityHeaderOptions …

c# asp.net-core-mvc .net-core asp.net-core

28
推荐指数
4
解决办法
9789
查看次数

为什么ConcurrentDictionary.GetOrAdd(key,valueFactory)允许调用valueFactory两次?

我使用并发字典作为线程安全的静态缓存,并注意到以下行为:

来自GetOrAdd上的MSDN文档:

如果在不同的线程上同时调用GetOrAdd,可能会多次调用addValueFactory,但是对于每个调用,它的键/值对可能不会添加到字典中.

我希望能够保证工厂只被召唤一次.有没有办法使用ConcurrentDictionary API执行此操作而不依赖于我自己的单独同步(例如锁定valueFactory)?

我的用例是valueFactory在动态模块中生成类型,所以如果同一个键的两个valueFactories同时运行,我点击:

System.ArgumentException: Duplicate type name within an assembly.

c# concurrency multithreading caching concurrentdictionary

26
推荐指数
2
解决办法
5796
查看次数

如何在ASP.NET Core中添加全局`AuthorizeFilter`或`AuthorizeAttribute`?

ASP.NET MVC 4及更低版本中,我们只需在Global.asax中添加以下内容:

GlobalFilters.Filters.Add(new AuthorizeAttribute() { Roles = "Admin, SuperUser" });
Run Code Online (Sandbox Code Playgroud)

知道如何在ASP.NET Core MVC中执行此操作吗?

c# asp.net-core-mvc asp.net-core

26
推荐指数
3
解决办法
2万
查看次数

问题阅读智能卡

我的读者哪个文档几乎与此一样:http://www.jinmuyu.com/download/JMY680A_EN.pdf 主要区别在于,我的读者声称它也支持TYPE B卡.

我有三张ISO 14443卡,我连续测试,并遵循以下代码:

   byte[] rs = null;

   Thread.Sleep(500);

   // Set module Idle 
   Random r = new Random();
   byte rInt = (byte) r.Next(0, 255);
   rs = send(new byte[] { 0x12, rInt });
   if (rs[1] == 0xED)
       throw new Exception("Failed set idle");

   Thread.Sleep(500);

   //// Request B
   //rs = send(new byte[] { 0x60, 0x00, 0x00 });
   //if (rs[1] == 0x9F)
   //    throw new Exception("Failed card requestB"); 

   // RequestA
   rs = send(new byte[] { 0x20, 0x00 });
   if (rs[1] …
Run Code Online (Sandbox Code Playgroud)

.net c# serial-port smartcard

25
推荐指数
1
解决办法
1535
查看次数