RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-306313

dmitriy's questions

Martin Hope
dmitriy
Asked: 2022-08-25 15:55:59 +0000 UTC

如何以及在哪里存储特定对象的参数?

  • 0

我正在制作一个在网络上搜索设备的程序。设备 ID 通过网络到达。

有许多设备,它们的特性是众所周知的。

例如有设备型号:device1。它有 4 个端口、1 个篡改传感器、2 个按钮。

device2:3 个端口,2 个传感器,4 个按钮。

在程序中存储此类设备的最佳方式是什么?

  1. 创建具有给定属性的类实例。
  2. 从文件反序列化。
  3. 在 db 中(db 也会出现在其他任务中)。

根据第一点,这里需要的不是实例,而是具有默认只读属性值的类本身。因为可能有很多实例。属性将是相同的,至少会有不同的 IP 地址。

同样重要的是,您可以轻松地将新设备添加到设备数据库,而无需重新构建程序。因此,看来。第一个选项不是很好。

c# архитектура
  • 1 个回答
  • 76 Views
Martin Hope
dmitriy
Asked: 2022-09-08 17:23:31 +0000 UTC

如何正确停止 BinaryReader ReadChar?

  • 0

我有这个代码

using (var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false))
using (var reader = new BinaryReader(stream, Encoding.UTF8))
using (cancellationToken.Register(() =>
{
    try { stream.Dispose(); }
    catch { }
}))
{
    while (true)
    {
        cancellationToken.ThrowIfCancellationRequested();

        var messageHeader = ReadMessageHeader(reader);
...
}

private static MessageHeader ReadMessageHeader(BinaryReader streamReader)
{
    var messageHeader = new MessageHeader();

    while (true)
    {
        var line = streamReader.ReadLine();
...
}

public static string ReadLine(this BinaryReader reader)
{
    var result = new StringBuilder();
    bool foundEndOfLine = false;
    char ch;
    while (!foundEndOfLine)
    {
        try
        {
            ch = reader.ReadChar();
...
}

据我了解,一段代码

using (cancellationToken.Register(() =>
{
    try { stream.Dispose(); }
    catch { }
}))

这样做正是为了使流崩溃并完成读取,因为ReadChar()如果流未接收到数据,它可能处于等待状态。

这种方法的问题是抛出了 IOException。

如果平台是 NetFramework 4.8,则 InnerExseption SocketErrorCode 包含System.Net.Sockets.SocketError.Interrupted Не удается прочитать данные из транспортного соединения: Операция блокирования прервана вызовом WSACancelBlockingCall,

并且在 NET5 上包含System.Net.Sockets.SocketError.OperationAborted Программа на вашем хост-компьютере разорвала установленное подключение

如何正确停止从流中读取的过程?

c#
  • 1 个回答
  • 10 Views
Martin Hope
dmitriy
Asked: 2020-01-22 20:54:57 +0000 UTC

按条件插入特定表

  • 4

我想插入这样的东西:

INSERT INTO Table1 (DATE1)
SELECT DATE1
FROM Table2 
WHERE PERIOD_TYPE = 0 AND NEWNUM < 10000;

是否可以根据条件设置目标表的名称Table1:

PERIOD_TYPE = 0 AND NEWNUM < 10000 

在WHERE原始表的谓词中Table2?

那是:

INSERT INTO Table3 (DATE1)
    SELECT DATE1
    FROM Table2 
    WHERE PERIOD_TYPE = 1 AND NEWNUM < 10000;
INSERT INTO Table4 (DATE1)
    SELECT DATE1
    FROM Table2 
    WHERE PERIOD_TYPE = 1 AND NEWNUM > 9999;

但是必须进行一种设计,而不是 10 个单独的插入。

sql
  • 1 个回答
  • 10 Views
Martin Hope
dmitriy
Asked: 2020-12-18 19:54:43 +0000 UTC

C#在Excel中选择单元格无法获取Range类的Select属性

  • 0

该计划开始下降。它的实现如下: ((Range)worksheet.Cells[2, 1]).Select(); 它崩溃并出现错误

无法获取 Range 类的 Select 属性

我所有修复它的尝试都是徒劳的。互联网说话

工作表必须处于活动状态,然后才能在其上选择范围。

但worksheet.Select();它也会下降。如何恢复功能?办公室安装 2013.

c#
  • 1 个回答
  • 10 Views
Martin Hope
dmitriy
Asked: 2020-09-27 13:09:37 +0000 UTC

HttpPostedFileBase SaveAs 共享文件夹权限

  • 1

我正在尝试将HttpPostedFileBase文件保存到另一台服务器上的共享文件夹(不是在哪个 IIS 上),我收到一个错误,指出没有访问权限。如何强制要求输入登录名/密码或在代码中设置它们?

file.SaveAs(saveFilePath);

Отказано в доступе по пути "\\data\work\..

我正在使用 asp.net mvc Microsoft .NET Framework,版本:4.0.30319;ASP.NET,版本:4.8.3928.0,IIS 7 在我保存文件的服务器上,Linux,我现在想找出什么样的 Linux。TS451U 威联通 NAS

如果您只是沿着路径 \data\work 浏览资源管理器,那么只需在标准 Windows 窗口中输入您的登录名和密码

我尝试使用我收到的太多NetworkConnetion 。虽然 NetworkConnetion 没有抛出异常,但这意味着它已经连接。

它说您需要登录到远程计算机。虽然试图弄清楚如何。

c#
  • 1 个回答
  • 10 Views
Martin Hope
dmitriy
Asked: 2020-09-26 17:04:51 +0000 UTC

ASP NET MVC 将项目添加到视图中的列表

  • 0

我有一个模型:

public class ProjectModel
{
    public int Id { get; set; }
    public int Status { get; set; }
    public DateTime Add_Date { get; set; }
    public DateTime End_Date { get; set; }
    ...
    public string File { get; set; }
    public string Note { get; set; }
    public List<DeviceListModel> Devices { get; set; }
}

有一个填写项目字段的创建表单。每个项目都有一个设备列表。如何将新设备添加到 View 中的列表中,以便在提交表单时完全接收到带有设备列表的项目对象?

如果通过JS添加,例如,添加到表格,那么数据只是进入页面,而不是进入对象 List<DeviceListModel> Devices

在此处输入图像描述

现在我已经实现了没有发布表单并通过 AJAX 发送数据。在示例的帮助下, 它运行良好。但是我遇到了一个问题,我看不到附件的完整路径,以便将其保存到服务器。我看到C:\fakepath\file.pdf 了因此,我想返回发送 post 表单,其中文件也将被发送。

c#
  • 1 个回答
  • 10 Views
Martin Hope
dmitriy
Asked: 2020-04-16 20:59:02 +0000 UTC

突出显示 WPF DataGrid 中具有相同数据的行

  • 0

该表单有一个包含数据的表格、一个颜色选择器和一个按钮。

  1. 选择需要的线路
  2. 我选颜色
  3. 我按下“灯”按钮
  4. 包含相似信息的所有行都会突出显示(但这些行并非 100% 相同)
  5. 我选择另一条线
  6. 我选择另一种颜色...

我不知道该怎么做。有任何想法吗?

看来你需要在这里挖掘:

    <DataTrigger Binding="{Binding Status}" Value="{x:Static loc:Resources.StateOld}">
      <Setter Property="Background">
        <Setter.Value>
          <Binding Path="SensorName" Converter="{StaticResource RowBackgroundConverter}"/>
        </Setter.Value>
      </Setter>
   </DataTrigger>

但是如何绑定到多个属性(列)并不完全清楚。您需要至少比较三个属性。

我想出的最简单的方法是将 Color 属性添加到表中显示的对象中。在按钮上为他们更改此属性。但我想要没有它。

c#
  • 1 个回答
  • 10 Views
Martin Hope
dmitriy
Asked: 2020-04-09 21:31:58 +0000 UTC

SMTP客户端。发送电子邮件

  • 0

我正在尝试使用 SmtpClient 发送电子邮件。如果我发送到端口 25,一切正常。如果我发送到端口 465,我会得到 GeneralFailure。

尝试了不同的服务器。gmail,邮件,yandex。有什么问题,我不明白。您需要提升权限吗?

MailMessage mail = new MailMessage("qwert@yandex.ru", "qwert2@yandex.ru");            
mail.IsBodyHtml = true;
mail.Subject = "Subject";
mail.Body = "Body";

SmtpClient client = new SmtpClient
{
     Host = "smtp.yandex.ru",
     Port = 465,
     EnableSsl = true,
     DeliveryMethod = SmtpDeliveryMethod.Network,
     UseDefaultCredentials = true,
     Credentials = new NetworkCredential("login", "password")
};       


 try
 {
     client.Send(mail);
 }
 catch (SmtpException ex)
 {
     Console.WriteLine("Error: {0}", ex.StatusCode);
 }
c#
  • 2 个回答
  • 10 Views
Martin Hope
dmitriy
Asked: 2020-03-18 14:43:38 +0000 UTC

使用 if 重用一个部分

  • 0

在测试过程中,在大块之后,我检查是否按下了 STOP 按钮。有这样一个部分,如果

if (m_stopTest)
{        
    manualStopTest(); // Выключаем все
    //...
    return;           // Выходим из теста
}

是否有可能以某种方式正确格式化此部分,例如,将其转换为函数以更改嵌套在一个地方的内容?例如,像这样的想法

if (checkStop(m_stopTest)) return;

其中checkStop包括所有这些检查和调用。但是,它checkStop检查是不合逻辑的,其他东西会打开和关闭它。

c++
  • 2 个回答
  • 10 Views
Martin Hope
dmitriy
Asked: 2020-03-13 14:24:31 +0000 UTC

QThreadPool 纯虚方法调用

  • 0

在窗口构造函数中,我创建了一个 Runnable 对象:

testTask = new TestTask();
testTask->setAutoDelete(true);
connect(testTask, &TestTask::endTest, this, &MainWindow::endTest);

在按钮单击我运行:

void MainWindow::runTest()
{
    // Если тест не запущен, то запускаем.
    if (!testRunning)
    {
        bool startedTest = QThreadPool::globalInstance()->tryStart(testTask);

        if (!startedTest)
        {
            syslog("Тест не был запущен, нет свободных потоков", E);
        }
        else
        {
            testRunning = true; // помечаем, что тест уже запущен
            syslog("Тест запущен", I);
        }
    }
    else
    {
        syslog("Тест уже выполняется, ожидайте", E);
    }
}

接收到测试完成信号时:

void MainWindow::endTest()
{
    QThreadPool::globalInstance()->waitForDone(); // нужно ли?
    testRunning = false; // помечаем, что тест уже окончен
    syslog("Тест окончен", I);
}

任务代码:

void TestTask::run()
{
    qDebug() << "Hello world from thread" << QThread::currentThread();

    // имитация работы процесса
    QThread::sleep (5);
    emit endTest(); 
}

结果:

"Тест запущен"
Hello world from thread QThread(0x274c4338, name = "Thread (pooled)")    
"Тест окончен"

再次按下按钮后,在第一次测试结束后,我得到

"Тест запущен" 
pure virtual method called

并且程序崩溃了。如果我将 Runnable 对象的创建放在按钮单击槽中,那么一切正常。那些。每次单击按钮时,都会创建一个新对象,并在其上运行 run。但是文档说 tryStart 可以在同一个 Runnable 上多次调用。

c++
  • 1 个回答
  • 10 Views
Martin Hope
dmitriy
Asked: 2020-10-01 15:27:21 +0000 UTC

WPF 通知图标。如何将方法绑定到 LeftClickCommand

  • 0

告诉我如何将 MainWindow(而不是单独的命令类)中的方法绑定到 TaskbarIcon。来自开发人员的示例展示了如何从单独的类进行绑定。

<tb:TaskbarIcon Visibility="Visible"
                    ToolTipText="{x:Static loc:Resources.MainWindowTitle}" 
                    IconSource="Images/logo_tfortis.ico"
                    LeftClickCommand="..."/>
c#
  • 1 个回答
  • 10 Views
Martin Hope
dmitriy
Asked: 2020-09-26 17:29:03 +0000 UTC

SQLite C# DB 的定期清理

  • 2

请指教。我有一个带有 SQLite 数据库的应用程序,事件存储在数据库中。我想在应用程序中添加一个设置来存储事件的天数。该应用程序意味着 24/7 全天候工作。仅带有while(true)循环c Task.Delay(timeout)的Task就足够了吗?那些。以某种周期性(什么?)循环重复并计算从今天(或从最近的事件?)到数据库中最后一个事件的时间差。如果差异大于设置,则删除旧事件。

c#
  • 1 个回答
  • 10 Views
Martin Hope
dmitriy
Asked: 2020-09-20 16:22:50 +0000 UTC

DataGrid WPF 中的自定义排序

  • 1

您需要在特定列中进行排序DataGrid。数据取自 ObservableCollection。该列包含行。有必要通过单击按我需要的顺序排序的标题。

我试图找到的所有方法都只是描述了如何按升序或降序排序,或者我没有弄明白。这是一个例子

c#
  • 1 个回答
  • 10 Views
Martin Hope
dmitriy
Asked: 2020-09-10 14:24:37 +0000 UTC

典型对象(标准)

  • 0

我无法制定标题,我将尝试解释。我通过网络接收数据,其中有一个设备 ID。您需要通过此 id 创建一个对象。而且,知道了id,就明白是什么设备,有什么属性值了。例如 id = 1: name = "device1", inputs = 3

那些。我绘制了一组典型对象,我需要从中获取新创建对象的属性值。

现在我有一个设备类,它包含一个带有典型设备的静态列表。在创建对象时,我在这个列表中通过 id 找到需要的属性值。

做这样的事情的最好方法是什么?

c#
  • 1 个回答
  • 10 Views
Martin Hope
dmitriy
Asked: 2020-08-15 18:29:09 +0000 UTC

如何生成列表

  • 0

有一个功能

var result = Messenger.Get(VersionCode.V1,
    new IPEndPoint(IPAddress.Parse(device.Ip), 161),
    new OctetString("public"),
    new List<Variable> {
        new Variable(new ObjectIdentifier("1.3.6.1.4.1.42019.3.2.2.2.1.1.3.2")),
        new Variable(new ObjectIdentifier("1.3.6.1.4.1.42019.3.2.2.5.1.1.2.4")),
        new Variable(new ObjectIdentifier("1.3.6.1.4.1.42019.3.2.2.5.1.1.3.4"))
    },
    100);

如何生成变量

new List<Variable> {
    new Variable(new ObjectIdentifier("1.3.6.1.4.1.42019.3.2.2.2.1.1.3.2")),
    new Variable(new ObjectIdentifier("1.3.6.1.4.1.42019.3.2.2.5.1.1.2.4")),
    new Variable(new ObjectIdentifier("1.3.6.1.4.1.42019.3.2.2.5.1.1.3.4"))
}

有一个 OID 列表

List<string> device.OIDs

?

c#
  • 1 个回答
  • 10 Views
Martin Hope
dmitriy
Asked: 2020-08-14 23:17:44 +0000 UTC

多线程。最好的方法

  • 1

任务是做一个通过SNMP监控硬件的程序(别问为什么,我自己都惊呆了)我打算用c#和SNMP lex库。可以监控很多铁片,一百片,甚至更多。每一块铁都有一堆参数用于监控。

想这样做。每个参数的监控在一个无限循环中的单独任务中启动,并且每 5 秒轮询一次参数。

看起来很可怕,因为 20 个参数的 100 块铁,一共 2000 个无限循环的任务。

建议如何最好地解决问题?

c#
  • 2 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5