小编Pal*_*Due的帖子

反应生命周期方法的理解

我是React.js的新手,我正在努力理解反应生命周期方法中的几种方法.

到目前为止,我仍然有一些让我困惑的事情:

1)

据我了解,之间的差别componentWillUpdate,并componentWillReceiveProps 是,componentWillReceiveProps当父母改变的道具,我们可以使用的setState(这里面孩子的setState会叫componentWillReceiveProps).

例如:https: //github.com/bgerm/react-table-sorter-demo/blob/master/jsx/app.jsx

var App = React.createClass({
  getInitialState: function() {
    return {source: {limit: "200", source: "source1"}};
  },
  handleSourceChange: function(source) {
    this.setState({source: source});
  },
  render: function() {
    return (
      <div>
        <DataSourceSelectors onSourceChange={this.handleSourceChange} source={this.state.source} />
        <TableSorter dataSource={urlForDataSource(this.state.source)} config={CONFIG} headerRepeat="5" />
      </div>
    );
  }
});
Run Code Online (Sandbox Code Playgroud)

在TableSorter中,我们有

componentWillReceiveProps: function(nextProps) {
    // Load new data when the dataSource property changes.
    if (nextProps.dataSource != this.props.dataSource) {
      this.loadData(nextProps.dataSource);
    }
  }
Run Code Online (Sandbox Code Playgroud)

意思是当我们改变时this.state.source,我们期望componentWillReceiveProps …

javascript lifecycle reactjs

53
推荐指数
3
解决办法
5万
查看次数

Powershell上传图片到https://www.artstation.com/

内容

  • 问题信息
  • 背景研究
  • 代码块
  • 资源


题:

如何使用Powershell将图像编程/自动上传到Artstation\Project-page ?

上传期间没有人工输入选择文件.仅预定义的媒体数据.如果可以使用PowerShell的内置功能来完成它.

(请参阅下面的网页参考图片'ArtStation上传页')



问题信息:

环境背景:

  • 操作系统: Windows 10,V:1803,版本:17134.165
  • 平台: PC
  • Powershell: V:5.1.17134.165(桌面版),Build:10.0.17134.165,(runas Admin,ExecutionPolicy RemoteSigned)
  • InternetExplorer11: V:11.165.17134.0,UpdateV:11.0.75(KB4339093)
  • 网站: https ://www.artstation.com/myartstation/projects/new


Artstation有一个"拖放"部分,中间有一个"上传按钮",用于打开文件浏览器.(参见图片ArtStation上传页面).

我看到了一些选择.

  1. 模拟文件拖动到拖动区域(似乎最简单)
  2. 通过文件浏览器将文件上传而不使用button.click()
  3. Button.click()打开文件浏览器使用单独的PowerShell进程捕获文件浏览器并导航到并选择要上载的文件.
  4. 手动创建/添加一个新的子项'Art-Work'元素到项目页面


背景研究:

嘿,我的第一篇文章.

我是一个新的PowerShell用户和新程序员.我试图通过powershell将生活质量应用程序上传到Artstation.

我一直试图弄清楚如何做这个约两周现在(80多个小时)看着数百个没有收益的论坛和网站.也许我不知道我在寻找或不使用的采石场会让我接近答案.所以我认为是时候投了一条线,看看能否得到一些帮助.请向我解释,就像我是一个白痴,从方方面面.

我还没有找到任何关于如何通过powershell上传图像的内容.或者至少我无法理解.


到目前为止,我所看到的一切,我认为可能有用,需要我知道我在哪里发送文件.Invoke-WebRequest/Invoke-RestMethod,Copy-item -session,拖放 javaScript.唯一的问题是我不知道.我唯一拥有的是一个internetExplorer.application ComObject,其中包含"拖放区域"对象和"文件上传按钮"对象的变量.它们都有方法和属性,我不确定如何设置或如何/他们需要什么数据结构.


过去的查询:( MFF,IE和Chrome;)

(Word我用过很多次)
"powershell",v5,https,upload,image,file,artstation,datatransfer,onDropEvent,copy-item,html标签,html,javascript,拖放功能,输入功能,定义,ondrop ,对象格式,https文件传输,转换,图像到咬,包,对象,$ ie.document.getelementId('image-input-upload').value =".\ $ myImage",检测,捕获,捕获,跟踪,查找,新,子,进程,文件浏览器,浏览器,导航,选择文件,分配,CTS,上传者,DLL主机,sendkeys,AssemblyName,System.Windows.Forms,microsoft.VisualBasic,multiPartContent,set-clipboard,get-clipboard ,fileAsBinaryString



代码块:

对不起,如果这是丑陋或没有意义.简单的答案是,我不知道我在做什么.我只是在一起废弃一些有希望工作的东西.

#< START_GLOBAL-VARIABLES ># …
Run Code Online (Sandbox Code Playgroud)

powershell https upload automation image

20
推荐指数
1
解决办法
510
查看次数

C#:要成为XML可序列化,从IEnumerable继承的类型必须具有Add(System.Object)的实现

所以我有以下代码:

private static string FindAppointmentsAsXmlString(CalendarView calendar, ExchangeService serv)
{
    FindItemsResults<Appointment> appointments = serv.FindAppointments(WellKnownFolderName.Calendar, calendar);

    var serializer = new XmlSerializer(appointments.GetType());
    var writer = new StringWriter();

    try
    {
        serializer.Serialize(writer, appointments);
        Console.WriteLine(writer.GetStringBuilder().ToString());
        Console.ReadLine();
    }
    catch (Exception ex) 
    {
        Console.WriteLine(ex);
        Console.ReadLine();
    }

    return writer.GetStringBuilder().ToString();
}
Run Code Online (Sandbox Code Playgroud)

初始化序列化程序时,我得到异常:

要成为XML可序列化,从IEnumerable继承的类型必须在其继承层次结构的所有级别都具有Add(System.Object)的实现.

Microsoft.Exchange.WebServices.Data.FindItemsResults未实现Add(System.Object).

我一直在搜索,我得出的结论是我必须添加一个公共的Add(Object obj)方法.现在我不确定这个方法应该包含什么或什么时候被调用,有人能指出我正确的方向吗?Add方法需要手动添加每个约会吗?

一些链接,我发现有帮助: 这里 这里

非常感激.

c# ienumerable serialization add exchangewebservices

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

多租户身份服务器4

我正在尝试实现为多租户应用程序处理SSO的IdentityServer。我们的系统将只有一个IdentityServer4实例来处理多租户客户端的身份验证。

在客户端,我正在使用acr_value传递租户ID。来自Startup.cs文件的一段代码如下:

public void ConfigureServices(IServiceCollection services)
{
        services.AddMvc();
        services.AddAuthorization();

        services.AddAuthentication(options =>
            {
                options.DefaultScheme = "Cookies";
                options.DefaultChallengeScheme = "oidc";
            })
            .AddCookie("Cookies")
            .AddOpenIdConnect("oidc", options =>
            {
                options.SignInScheme = "Cookies";
                options.Authority = "http://localhost:5000";
                options.RequireHttpsMetadata = false;
                options.ClientId = "Client1";
                options.ClientSecret = "secret";
                options.ResponseType = "code id_token";
                options.SaveTokens = true;
                options.GetClaimsFromUserInfoEndpoint = true;                    
                options.Scope.Add("openid");
                options.Scope.Add("profile");
                options.Scope.Add("offline_access");
                options.Events.OnRedirectToIdentityProvider = n =>
                {
                    if (n.ProtocolMessage.RequestType == 
                          OpenIdConnectRequestType.Authentication)
                    {
                        n.ProtocolMessage.AcrValues = "tenant:clientId1";
                    }
                    return Task.FromResult(0);
                };
            });
}
Run Code Online (Sandbox Code Playgroud)

对于身份服务器,使用具有ASP.NET Core身份的IdentityServer4。为了处理多租户客户端身份验证,我按照本文中Scott Brady针对ASP.NET Identity给出的说明进行操作:https : //www.scottbrady91.com/ASPNET-Identity/Quick-and-Easy-ASPNET-Identity-Multitenancy …

c# multi-tenant asp.net-core identityserver4 asp.net-core-identity

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

如何使用PowerShell关闭计算机?

我想在我的脚本中执行关闭过程。我用Stop-Computer。但总是重启,不关机。我stop-computer单独尝试过,它有效,但是当我将它应用到我的脚本中时,它会重新启动,不会关闭,任何人都可以给出任何想法吗?

powershell

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

在我的 nuget 包安装后执行一个操作

我们已经创建了很多 NuGet 包。其中之一是一个工具,它包含一个特殊的编译器,并且像dotnet tool. 命令的名称是“PolyGen”。

我们使用了与使用类似的机制Grpc.Tools,这意味着我们已经在 NugetPackage 中定义了 .targets 文件。它运作良好。

但是当我更新我的 PolyGen 时,之后我必须使用命令手动更新 dotnet 工具dotnet tool update

但是我看到Grpc.Tools更新的时候,自动执行了dotnet工具更新。包管理器控制台写了以下消息:

Executing nuget actions took 181,36 ms
Run Code Online (Sandbox Code Playgroud)

我们如何定义这个自动执行的命令,以避免手动更新?

谢谢你们!

c# nuget nuget-package nuget-spec

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

为什么没有从上游源下载特定版本的 npm 包?

我们有一个 Azure Artifact 源,其上游源为https://registry.npmjs.org/

通过这个 Azure Artifact 提要,我可以下载以下 npm 包:

  • caniuse-lite@1.0.30001017

但我无法下载相同软件包的以下版本:

  • caniuse-lite@1.0.30001016

如果我直接访问 npm(而不是通过工件提要),我可以按预期提取两个版本。

反正有没有进一步诊断这个问题?

azure-devops azure-artifacts

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

如果DbContext的OnConfiguring方法中的所有配置都如何使用AddDbContextPool

我正在使用PostgreSQL,并且我的ApplicationDbContext如下:

public class ApplicationDbContext : DbContext
{
    private readonly DatabaseSettings _databaseOptions;
    public ApplicationDbContext() { }
    public ApplicationDbContext(IOptions<DatabaseSettings> databaseOptions)
    {            
        _databaseOptions = databaseOptions.Value;
    }
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.HasPostgresExtension("citext");
    }
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        if (_databaseOptions == null)
        {
            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
        }
        else
        {
            optionsBuilder.UseNpgsql(_databaseOptions.ConnectionString,
            npgsqlOptionsAction: sqlOptions =>
            {
                sqlOptions.EnableRetryOnFailure(
                    maxRetryCount: _databaseOptions.MaxRetryCount,
                    maxRetryDelay: TimeSpan.FromSeconds(_databaseOptions.MaxRetryDelay),
                    errorCodesToAdd: null);
            });
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这种情况是许多其他情况的基础。我正在改善性能并尝试使用上下文池。文档说要添加轮询,我应该:

services.AddDbContextPool<EmployeeContext>(options => options.UseNpgsql(connection));
Run Code Online (Sandbox Code Playgroud)

但我想在OnConfiguring方法中存储.UseNpgsql和DbContext的其他配置。如何实现呢?

c# entity-framework entity-framework-core ef-core-2.2

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

为什么在调用 IHost.StopAsync 时会调用两次 IHostedService.StopAsync?

给定以下使用通用主机的 .NET Core 2.2 控制台应用程序:

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using System;
using System.Threading;
using System.Threading.Tasks;

namespace SimpleGenericHost
{
    class SimpleHostedService : IHostedService
    {
        public Task StartAsync(CancellationToken cancellationToken)
        {
            Console.WriteLine("Service started");
            return Task.CompletedTask;
        }

        public Task StopAsync(CancellationToken cancellationToken)
        {
            Console.WriteLine("Service stopped");
            return Task.CompletedTask;
        }
    }

    class Program
    {
        static async Task Main(string[] args)
        {
            var host = new HostBuilder()
                .ConfigureServices(services =>
                {
                    services.AddHostedService<SimpleHostedService>();
                })
                .Build();

            var runTask = host.RunAsync();
            await Task.Delay(5000);
            await host.StopAsync();
            await runTask;

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当你运行它时,输出如下:

Service started …
Run Code Online (Sandbox Code Playgroud)

c# .net-core

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

如何使用ILoggerFactory并登录到控制台

我在 .Net Core 3.1 中创建了一个简单的控制台应用程序。我想创建一个记录器并将其打印到控制台。

我有以下代码

class Program
{
    public static void Main(string[] args)
    {
        var loggerFactory = LoggerFactory.Create(builder => builder.AddConsole());
        var logger = loggerFactory.CreateLogger(nameof(Program));
        logger.LogInformation("some logging info");
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行命令dotnet run时,没有打印任何内容。

我还需要配置其他东西吗?

c# logging .net-core loggerfactory

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