小编Stp*_*111的帖子

C# - string[] 不包含“SkipLast”的定义并且没有可访问的扩展方法

.NET 框架 4.7.2。Visual Studio 2019。有关此错误的其他帖子中没有具体解决此问题。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Stuff
{
    class Program
    {
        static void Main(string[] args)
        {
         string firstPart = "ABC 123 XYZ";
         string firstPartMinusLast = string.Join(" ", firstPart.Split(' ').SkipLast(1));
         Console.WriteLine(firstPartMinusLast);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到一个 Intellisense 错误SkipLast

string[] 不包含“SkipLast”的定义,并且找不到接受“string[]”类型的第一个参数的可访问扩展方法“SkipLast”(您是否缺少 using 指令或程序集引用?)

根据我可以在网上找到的任何文档,using System.Linq应该涵盖这种方法吗?

c#

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

创建完成后监视文件夹并复制新文件

我构建了一个控制台应用程序,用于监视 Windows 2019 Server 上的一组文件夹,并使用相同的文件名将任何新创建的 .txt 文件复制到另一个文件夹。到目前为止,它可以实现基本功能。现在我必须处理这样一个事实:大多数时候,这些文件很大,需要几分钟才能完成创建。我已经浏览了几篇 SO 帖子,并拼凑了以下代码来尝试完成此任务:

using System;
using System.IO;

namespace Folderwatch
{
    class Program
    {
        static void Main(string[] args)
        {
            string sourcePath = @"C:\Users\me\Documents\SomeFolder";

            FileSystemWatcher watcher = new FileSystemWatcher(sourcePath);

            watcher.EnableRaisingEvents = true;
            watcher.IncludeSubdirectories = true;
            watcher.Filter = "*.txt";

            // Add event handlers.
            watcher.Created += new FileSystemEventHandler(OnCreated);
        }

        // Define the event handlers. 

        private static void OnCreated(object source, FileSystemEventArgs e)
        {
            // Specify what is done when a file is created.
            FileInfo file = new FileInfo(e.FullPath);
            string …
Run Code Online (Sandbox Code Playgroud)

c# filesystemwatcher

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

ElasticSearch - 尝试在 Windows 上启动服务时出错

昨天,我在 Windows Server 2012 R2 上完成了 ElasticSearch 的安装,并且能够正常启动 ElasticSearch 服务。

今天,我安装了 Kibana 和 X-Pack,但在尝试启动 ElasticSearch 服务时出现错误。

C:\Program Files\Elastic\Elasticsearch\bin>elasticsearch
[2017-07-27T14:47:24,033][INFO ][o.e.n.Node               ] [VSMAIN-01] ini
tializing ...
[2017-07-27T14:47:24,080][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [V
S-SQL-MAIN-01] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: f
ailed to obtain node locks, tried [[F:\Elastic\Elasticsearch\Data\elasticsearch-
vd]] with lock id [0]; maybe these locations are not writable or multiple nodes
 were started without increasing [node.max_local_storage_nodes] (was [1])?
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:127
) ~[elasticsearch-5.5.0.jar:5.5.0]
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:
114) ~[elasticsearch-5.5.0.jar:5.5.0]
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwar
eCommand.java:67) ~[elasticsearch-5.5.0.jar:5.5.0]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:1
22) …
Run Code Online (Sandbox Code Playgroud)

elasticsearch

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

Azure 自动化 - 每天自动重启一次 Web 应用程序的 Runbook

我完全没有使用 PowerShell 的经验 - 我想要做的是使用我的 Azure 自动化服务来设置一个 Runbook,它会在每晚凌晨 1 点自动重新启动我的一个 Azure Web 应用程序。

是否可以使用 Powershell/Azure 自动化来完成此操作?

powershell azure azure-automation

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

没有路线与提供的值匹配

这个特殊案例不应该与任何其他线程重复 - 我相信我已经检查了所有这些并且我不相信任何具体提及这个案例。

我有这个控制器:

 namespace Cantrel.Application.CantrelSearchApi.Controllers
    {
        [Route("api/[controller]")]
        [Authorize]
        public class MonitorsController : Controller
        {
            private readonly IMonitoringApiService monitoringService;
            private readonly IClientsApiService clientsService;
            private readonly ILogger<MonitorsController> logger;

            public MonitorsController(IMonitoringApiService monitoringService,
                IClientsApiService clientsService,
                ILogger<MonitorsController> logger)
            {
                this.monitoringService = monitoringService;
                this.clientsService = clientsService;
                this.logger = logger;
            }


  [HttpGet("{id}")]
        public async Task<IActionResult> Get(string id)
        {
            if (string.IsNullOrEmpty(id))
            {
                return BadRequest("No id was provided. Please provide a valid monitor id or subject id.");
            }

            try
            {
                MonitorDto monitor;

                if (Guid.TryParse(id, out Guid monitorId))
                { …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc asp.net-web-api

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

CsvHelper-使用映射写入SQL数据库

到目前为止,CSVHelper .NET库似乎很棒,但是对于像我这样的伪初学者来说,该文档有点缺乏。

我需要读取一个csv文件并将结果写入我们的SQL Server数据库。对于我要写入的表,我需要从CSV列映射到它的列,包括将多个字段串联在一起。

这是我要读取的csv文件的内容:

public static void Main(string[] args)
{
    using (var reader = new StreamReader(@"C:\Users\me\Documents\file.csv"))
    using (var csv = new CsvReader(reader))          
    {
        csv.Configuration.PrepareHeaderForMatch = (string header, int index) =>
            header.Replace(" ", "_").Replace("(", "").Replace(")", "").Replace(".", "");
        var records = csv.GetRecords<EntityCsv>().ToList();
    }
}
Run Code Online (Sandbox Code Playgroud)

我的EntityCsv班级包含csv文件所有列的属性名称。

然后,我还有一个名为的类TaskEntity,其中包含目标数据库表的属性名称和类型(尽管我不清楚是否需要此属性)。

最后,根据同事的建议,我有一种方法可以这样使用SQLBulkCopy

public void AddBulk(List<TaskEntity> entities)
{
    using (var con = GetConnection())
    {
        SqlBulkCopy bulk = new SqlBulkCopy(con);
        bulk.BatchSize = 2000;
        bulk.BulkCopyTimeout = 0;
        bulk.DestinationTableName = "dbo.CsvExports";
        bulk.WriteToServer(entities.AsDataTable());
        bulk.Close();
    } …
Run Code Online (Sandbox Code Playgroud)

c# csvhelper

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

SQL Server - 仅返回ID的查询,其中每个ID在另一列中具有不同的值

SQL Server 2016 Enterprise - 假设我在主表上运行查询以从ID 1到5中恢复所有记录.我会得到这样的结果:

ID  Status  BatchID
1   Active  493fd8bc
1   Active  493fd8bc
1   Active  493fd8bc
1   Active  493fd8bc
1   Active  493fd8bc
2   Active  2d91c2f2
2   Active  2d91c2f2
3   Active  2a1338ac
3   Active  2a1338ac
3   Active  2a1338ac
4   Active  0c469bcc
4   Active  0c469bcc
4   Active  0c469bcc
4   Active  0c469bcc
4   Active  0c469bcc
4   Active  0c469bcc
4   Active  0c469bcc
5   Active  ca8896bd
5   Active  ca8896bd
5   Active  ca8896bd
Run Code Online (Sandbox Code Playgroud)

以上是我们期望看到的,每个IDBatchID与它相关联(区分每个记录的其他列与此问题无关).

我们遇到了一些问题,我们发现并非所有情况都是如此ID's.例如,假设我们运行相同的查询,它返回了这个:

ID  Status …
Run Code Online (Sandbox Code Playgroud)

sql sql-server

0
推荐指数
1
解决办法
22
查看次数

SQL Server - 从较长的字符串中删除字符串,其中要删除的值位于记录到记录的不同位置

SQL Server 2016.

我有一个看起来像这样的表:

ID  Categories
1   XMDO1, EFA02, EFA04, EMDO1, XMDO2
2   EFR02, LFA02, UFA04, RMED1, XMDO1, XMDO2
3   ELR02, GFF02, XFA04, VMED1, XMDO1
Run Code Online (Sandbox Code Playgroud)

...以及2,000个类似记录,其中任何代码都可以按字符串中的任何顺序出现.

如何构造一个查询以从所有上述记录中删除XMDO1,以便生成的表看起来像这样?

ID  Categories
1   EFA02, EFA04, EMDO1, XMDO2
2   EFR02, LFA02, UFA04, RMED1, XMDO2
3   ELR02, GFF02, XFA04, VMED1
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server

-1
推荐指数
1
解决办法
40
查看次数

如何调试System.Core.dll中发生的"'System.ArgumentNullException',但未在用户代码中处理"

我是C#的新手并对此感到有些困惑,主要是因为过去几个月一切都与这个网络应用程序完美配合,而这个问题刚刚开始,似乎几个月来代码没有任何变化.我在这里阅读了几篇与此错误相关的帖子,但所有答案对我的知识水平来说都是一般性的.

抛出的错误是:

System.Core.dll中出现"System.ArgumentNullException"类型的异常,但未在用户代码中处理

附加信息:值不能为空.

代码是:

[Route("ajax/addOrUpdateSource")]
[HttpPost]
public JsonResult AddOrUpdateSource(Source source, string html)
{
    var htmlDoc = new HtmlAgilityPack.HtmlDocument();
    htmlDoc.LoadHtml(html);

    var response = new Dictionary<string, object>();
    var labels = htmlDoc.DocumentNode.SelectNodes("//label");
    List<string> categories = new List<string>();
    string[] vals = new string[] { };

     for(int n = 1; n < labels.Count(); n++)
    {
        var label = labels[n].Attributes[0].Value;

        if (label.Contains( "btn") && label.Contains("btn-primary"))
            categories.Add(labels[n].InnerText.Trim());
    }

    response.Add("source", null);

    try
    {
        string catValues = String.Join(", ", categories.ToArray());

        source.LastUpdateDateTime = DateTimeOffset.UtcNow;
        source.LastUpdateUser = User.Identity.Name;
        source.ProductCategory = …
Run Code Online (Sandbox Code Playgroud)

c# argumentnullexception

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