小编sty*_*ybl的帖子

Asp.Net Core API禁用启动完成消息

作为我的应用程序的一部分,我有一个.Net Core API项目.与此项目作为自己的流程运行的大多数情况不同,我在一个线程中运行API,在其他流程中运行.同样对于我的项目,我已经实现了一个自定义日志记录系统以满足我的需求.但是,我遇到了一个小问题.每次运行我的程序时,一旦API启动,此消息将打印到控制台:

Hosting environment: Production
Content root path: C:\Users\Path\To\Code
Now listening on: http://*:8000
Application started. Press Ctrl+C to shut down.
Run Code Online (Sandbox Code Playgroud)

我想禁用此消息,因为不需要它,并且它使组织良好的控制台日志变得混乱.我有一个截图,所以你知道我在说什么:

消息的屏幕截图

我已经禁用了所有其他的日志记录的MVC(除去ILoggerFactory来自ConfigureServices并将所有日志记录在"无" appsettings.json).

如何禁用/禁止此消息?

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

14
推荐指数
3
解决办法
1294
查看次数

设置Asp.Net核心MVC Json选项

比如说,我在项目中AC拥有的一个Address类具有类型的属性IPEndPoint.此类型以及IPAddress因默认情况下无法序列化为JSON而臭名昭着.由于我需要序列化我的类,我实现了两个自定义转换器:IPAddressConverterIPEndPointConverter.为了让Newtonsoft使用这两个转换器,我创建了这个类:

public sealed class CustomSettings : JsonSerializerSettings
{
    public CustomSettings() : base()
    {
        this.Converters.Add(new IPAddressConverter());
        this.Converters.Add(new IPEndPointConverter());
        this.TypeNameHandling = TypeNameHandling.Auto;
    }
} 
Run Code Online (Sandbox Code Playgroud)

..我在我的Main喜欢中使用:

Newtonsoft.Json.JsonConvert.DefaultSettings = () => new CustomSettings();
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试为我的程序添加API.我创建了一个.Net Core Web API项目,并将其成功集成到我的程序中.但是,当我尝试编写一个需要AC来自请求体的JSON格式实例的POST方法时,出现了问题.序列化程序无法转换IPEndPoint,因此值AC始终是null.

有关.Net Core API配置的信息非常少.谁能告诉我如何将这些相同的设置传递给MVC的序列化器?

编辑

我找到了一种方式(某种程度).事实证明,您可以在ConfigureServices方法中设置JSON选项.

我尝试修改MVC的序列化程序的设置,就像我对程序的其余部分所做的那样:

services.AddMvc().AddJsonOptions(options => options.SerializerSettings = new CustomSettings());
Run Code Online (Sandbox Code Playgroud)

但是,这不适用于options.SerializerSettings只读.

可以逐个传递转换器,但我更喜欢它们都是从一个地方(CustomSettings班级)管理的.这可能吗?

c# json json.net .net-core asp.net-core

12
推荐指数
1
解决办法
5634
查看次数

React Router重定向哈希链接

我为我网站的导航栏创建了一个自定义按钮组件.当用户单击某个按钮时,该组件将返回一个Redirect,该用户将用户带到他们选择的页面.

export default class Button extends Component {
    constructor(props){
        super(props);
        this.state = {redirect:false};
        this._handleClick = this._handleClick.bind(this);
    }

    _handleClick(e) {
        e.stopPropagation();
        this.setState({redirect: true});
    }

    componentDidUpdate() {
        if (this.state.redirect){
            this.setState({redirect:false});
            this.props.onRedirect();
        }
    }

    render() {
        if (this.state.redirect){
            return <Redirect push to={this.props.dest}/>;
        }
        else {
            return (
                <li className="button" onClick={this._handleClick}>
                    <h5>{this.props.text}</h5>
                </li>
            );
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我想添加对应于同一页面不同部分的按钮.我所知道的最简单的方法是使用哈希链接.按钮将重定向到的地址的一个示例是:

/home#description
Run Code Online (Sandbox Code Playgroud)

但是,React Router不支持开箱即用.我查看了许多添加此功能的软件包,例如react-router-hash-linkreact-scrollchor.然而,这些都不适用于重定向,而是依赖于Link或依赖于自定义组件.

如何将此功能添加到按钮?

javascript reactjs react-router

7
推荐指数
1
解决办法
1004
查看次数

如何在chart.js圆环图中使用两个数据集?

chart.js网站上,如果单击图表下方的"添加数据集"按钮,您将在甜甜圈内获得一个甜甜圈.这是一个截图:

在此输入图像描述

这就是我想要的,但即使我查看源代码,我也无法弄清楚如何添加第二个数据集......所以我猜到了(下面第8行).我的猜测是错误的,如果删除第8行,我会得到一个带有一枚戒指的甜甜圈.

这是我尝试过的代码片段:

<canvas id="OR-County-chart" style="min-height:20em;"></canvas>
       <script>
            var ctxb = $('#OR-County-chart');
            var data = {
                labels: ["Baker County","Benton County","Clackamas County", "Clatsop County", "Columbia County", "Coos County", "Crook County", "Curry County", "Deschutes County", "Douglas County", "Gilliam County", "Grant County", "Harney County", "Hood River County", "Jackson County", "Jefferson County", "Josephine County", "Klamath County", "Lake County", "Lane County", "Lincoln County", "Linn County", "Malheur County", "Marion County", "Morrow County", "Multnomah County", "Polk County", "Sherman County", "Tillamook County", "Umatilla County", "Union County", "Wallowa …
Run Code Online (Sandbox Code Playgroud)

javascript donut-chart chart.js

6
推荐指数
1
解决办法
8105
查看次数

Facebook Graph API从og:type = website获取评论

我正在尝试从类型网站的开放图形对象中获取注释.

我正在官方的Graph API Explorer页面上测试所有这些,https://developers.facebook.com/tools/explorer

首先,我将页面中的URL粘贴到其页面上.我得到这样的东西:

{
  "og_object": {
    "id": "id_of_the_object",
    "description": "some_description",
    "title": "some_title",
    "type": "website",
    "updated_time": "2017-03-30T08:35:44+0000"
  },
  "share": {
    "comment_count": 5,
    "share_count": 31
  },
  "id": "the_pasted_link"
}
Run Code Online (Sandbox Code Playgroud)

如您所见,它表示对于此OGObject有5条注释.

通过在Explorer页面上请求以下内容,我使用id_of_the_object来收集评论:

id_of_the_object/comments

我得到一个空数据对象,没有注释:

{
  "data": [
  ]
}
Run Code Online (Sandbox Code Playgroud)

但是当我对类型文章的OGObject发出相同的请求时,注释就在那里:

{
  "data": [
    {
      "created_time": "2017-03-30T12:21:48+0000",
      "from": {
        "name": "user",
        "id": "user_id"
      },
      "message": "some_message",
      "id": "message_id"
    }
  ],
  "paging": {
    "cursors": {
      "before": "blabla",
      "after": "blabla"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

所以主要的问题是,我可以从类型网站的OGObject获得评论吗?因为它显然不像类型文章那样工作.

opengraph facebook-graph-api facebook-comments

5
推荐指数
0
解决办法
243
查看次数

具有通用键和 Callable[T] 值的 Python 字典

我有一些命名元组:

JOIN = NamedTuple("JOIN", [])
EXIT = NamedTuple("EXIT", [])
Run Code Online (Sandbox Code Playgroud)

我还有处理每种类型元组的函数:

def handleJoin(t: JOIN) -> bool:
    pass

def handleExit(t: EXIT) -> bool:
    pass
Run Code Online (Sandbox Code Playgroud)

我想做的是创建一个字典,handleTuple这样我就可以这样称呼它:

t: Union[JOIN, EXIT] = #an instance of JOIN or EXIT
result: bool
result = handleTuple[type(t)](t)
Run Code Online (Sandbox Code Playgroud)

我不知道如何定义所述字典。我尝试定义一个泛型T

T = TypeVar("T", JOIN, EXIT)
handleTuple: Dict[T, Callable[[T], bool]
Run Code Online (Sandbox Code Playgroud)

但是我收到一条错误消息“类型变量 T 未绑定”,我不明白。到目前为止我得到的最接近的是:

handleTuple: Dict[Type[Union[JOIN, EXIT]], bool]
handleTuple = {
    JOIN: True
    EXIT: False
}
Run Code Online (Sandbox Code Playgroud)

这可以很好地按照我想要的方式调用它,但是我无法弄清楚Callable定义中的部分,因此我可以包含我的函数。我怎样才能做到这一点

python generics python-3.x mypy

5
推荐指数
1
解决办法
1973
查看次数

window.location.href 返回一个文件夹?

所以我有一个位于 的 html 文档localhost/r/index.php,但是当我这样做时,window.location.href="localhost"它会将我发送到locahost/r/localhost我不想要的位置。我希望我的脚本将我发送到localhost. 有没有办法做到这一点?

html javascript

4
推荐指数
1
解决办法
3241
查看次数

达到 DateTime 后执行方法的最有效方法

我有一堂课是这样的:

public sealed class Contract
{
    public bool isExpired { get; set; }
    public DateTime ExpirationDate { get; set; }
    public void MarkAsExpired()
    {
        this.isExpired = true;
        // Other stuff..
    }
}
Run Code Online (Sandbox Code Playgroud)

我想做的是:一旦ExpirationDate达到,MarkAsExpired应该被调用。如果程序关闭并且当它重新打开时ExpirationDate已经过去,同样的情况也会发生。如果isExpired这是真的,那么什么都不会发生。

合同是可以修改的,并且经常添加新合同。我的确切预期数量未知。

我已经想到了一种可以通过DateTime对象的通用扩展方法来完成此操作的方法:

var contracts = new List<Contract>();
foreach (var contract in contracts.Where(contract => !contract.isExpired))
{
    contract.ExpirationDate.ExecuteWhenPassed(() => contract.MarkAsExpired());
}
Run Code Online (Sandbox Code Playgroud)

问题在于编写扩展方法本身。我已经创建了一个工作解决方案:

static void ExecuteWhenPassed(this DateTime date, Action action)
{
    // Check if date has already passed
    if (date …
Run Code Online (Sandbox Code Playgroud)

c#

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

LINQ - 选择前10%的元素

使用LINQ我必须通过"Score"值选择List of ordered(asc)的前10%.该模型具有Id和Score.

例:

如果我有100个项目,并且每个项目都有一个分数,我希望它们按分数(asc)排序,并且只选择前10名(10%)

到目前为止我做了什么:

var orderedList = (from Emps in db.Emps
                  orderby Emp.Score ascending
                  select Emp);
Run Code Online (Sandbox Code Playgroud)

然后我必须计算orderedList并计算10%并进行另一个查询.如果可能的话,我希望所有人都在同一个查询中.

我该怎么做呢?

c# linq

2
推荐指数
1
解决办法
1095
查看次数

日期时间到时间戳 javascript

我有这个时间格式:

DateTime(2015, 5, 11, 12, 0, 0)
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以将其转换为时间戳。

我已经将此转换函数从 ISO 8601 转换为时间戳,我想知道是否可以将其调整为这种时间格式:

DateTime(2015, 5, 11, 12, 0, 0)
Run Code Online (Sandbox Code Playgroud)

javascript timestamp

2
推荐指数
1
解决办法
4367
查看次数