RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

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

Сергей's questions

Martin Hope
Сергей
Asked: 2022-08-16 03:57:44 +0000 UTC

如果至少有一个任务结束,如何关闭所有任务

  • 0

有decimal一个参数。假设它等于 10。有Task一段时间100ms将它减少0.1. 一旦参数变得等于1,任务应该结束并且参数不应该再减少。如果Task只有一个,则可以正常工作。但如果它们是2, 3, 100...,那么参数最终会变小1。我尝试使用CancellationToken来完成所有任务,但结果还是一样。我的代码:

    class Program
    {
        static decimal param = 108;
        static CancellationTokenSource cancelTokenSource = new CancellationTokenSource();
        static CancellationToken token;

        static void Main(string[] args)
        {
            int tasksCount = 16;
            token = cancelTokenSource.Token;

            Console.WriteLine("Start Param = {0}", param);
            Console.WriteLine("Tasks Count = {0}", tasksCount);

            var tasksList = new List<Task>();
            for (var i = 0; i < tasksCount; i++)
            {
                Task task = new Task(Decrementation, token);
                tasksList.Add(task);
            }
            tasksList.ForEach(x => x.Start());
            Task.WaitAny(tasksList.ToArray());

            Console.WriteLine("Result = {0}", param);
            Console.Read();
        }

        private static void Decrementation()
        {
            while (true)
            {
                if (token.IsCancellationRequested)
                {
                    break;
                }

                if (CanTakeMore())
                {
                    Task.Delay(100);
                    param = param - 0.1m;
                }
                else
                {
                    cancelTokenSource.Cancel();
                    return;
                }
            }
        }

        private static bool CanTakeMore()
        {
            if (param > 1)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }

输出不同,但始终小于 1。

在此处输入图像描述

我究竟做错了什么?

c# .net
  • 1 个回答
  • 45 Views
Martin Hope
Сергей
Asked: 2022-05-14 07:09:10 +0000 UTC

将新表添加到现有表的一行

  • 0

有2html张桌子。第一个是对象列表,第二个是有关个人的详细信息。两者的列数不同。第一个在页面加载时立即显示,第二个可以动态加载,由用户选择。我正在尝试tr在第一个表中创建一个新表,如屏幕截图所示:

在此处输入图像描述

并插入到tr第二个表中table。

让第二个表是:

<table>
  <tr>
    <th>Company</th>
    <th>Contact</th>
    <th>Country</th>
  </tr>
  <tr>
    <td>Alfreds Futterkiste</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
</table>

添加第二个表是通过JS但也可以手动完成,如屏幕截图所示:

在此处输入图像描述

结果是一个结构,其中空的tr第一个表(我想在其中插入table)保持为空,并且tr第二个表的行被简单地添加到第一个表中。屏幕:

在此处输入图像描述

这不是问题,但表格的列数不同,因此,屏幕上以黄色突出显示的行将仅占第一个表格的 3 列,其余空间将保持空白,像这样的东西:

在此处输入图像描述

如果tr尝试table插入<tr><td></td></tr>. 只有这样,第二个表才会占用列空间bla-1。即使第二个表格的列数不同,如何使第二个表格的宽度与第一个表格的宽度相同?

html
  • 2 个回答
  • 10 Views
Martin Hope
Сергей
Asked: 2020-09-09 16:41:12 +0000 UTC

是否在私人页面上使用 seo

  • 2

如果非注册用户可以看到的页面仅限于:主页面index(которые являются динамическими и в зависимости от параметра либо отобразят соответсвующую форму, либо скажут что ссылка неактивна我需要在 sitemap.xml 中指定私有页面吗?毕竟按照思路,搜索机器人увидеть只能是首页。

seo
  • 1 个回答
  • 10 Views
Martin Hope
Сергей
Asked: 2020-03-27 03:40:34 +0000 UTC

属性接口

  • 0

是否可以将属性与接口一起使用,以便实现类具有具有相同属性的方法?

c#
  • 2 个回答
  • 10 Views
Martin Hope
Сергей
Asked: 2020-03-19 21:49:57 +0000 UTC

在 Web 应用程序中存储密钥

  • 1

一般的问题听起来是这样的:如何end-to-end在 Web 应用程序中组织加密,具体来说,如何在客户端存储密钥?假设密钥本身将js在用户的浏览器中生成,但它存储在哪里?这似乎是Cookies一个糟糕的决定。它们将在请求时发送,这意味着它们可以被拦截。

javascript
  • 1 个回答
  • 10 Views
Martin Hope
Сергей
Asked: 2020-03-14 01:30:40 +0000 UTC

将本地提交推送到单独的分支

  • 0

从存储库开始,github该存储库长期以来一直保留一个分支master。在某个时候,我在 github 的同一个地方创建了一个新的:

在此处输入图像描述

然后使用将其在本地合并到一个新文件夹中

git clone --branch serverBranchName https://github.com/username/reponame/

进行更改后,继续按以下顺序推送:

混帐添加。

git commit -m "测试味精"

git 添加远程来源https://github.com/username/reponame/

git checkout -b serverBranchName

git branch --set-upstream-to=origin/serverBranchName serverBranchName

git push origin/serverBranchName

我得到的是一个错误:

Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我拥有所有权利,我通过 ssh 连接,但仍然无法将更改上传到新分支。远程名称和本地名称brach相同。谁面对 - 告诉我这是怎么回事?

git
  • 1 个回答
  • 10 Views
Martin Hope
Сергей
Asked: 2020-11-15 19:36:52 +0000 UTC

如何在 php/c++ 中获取包 ip 选项

  • 0

временных меток对ip包中发送的选项感兴趣。是否有可能通过某种方式获得这些标签php?我试过curl_getinfo($ch)了,但 26 个参数中没有一个看起来像timespan时间戳。它们表示自 UTC 午夜以来的毫秒数。返回的信息中没有类似的,如果有,戳。

分析网络负载需要这些信息,理想情况下,最好能以毫秒为单位查看数据包从服务器发送到客户端的时间。如果有其他方法可以实现这一点,请戳手册。

UPD添加С++是因为。口译员php写在加号上。也许有一种方法可以使用C++.

php
  • 1 个回答
  • 10 Views
Martin Hope
Сергей
Asked: 2020-11-05 04:37:35 +0000 UTC

如何找出在多卷曲中发送和接收响应的请求的确切时间

  • 0

使用时如何找出每个请求在什么时候收到响应multi curl?假设我使用phpvia发送了 10 个异步请求,multi curl并且我想知道确切的时间 - 请求是在什么时候发送的,而这 10 个请求中的每一个接收到的响应都精确到毫秒?

UPD

让我更详细地解释一下情况。multi curl我通过这样的方式向服务器发送 2 个请求:

function multirequest($bodys, $headers) 
{
    $multi = curl_multi_init();
    $handles = []; 
    $htmls = [];

for($i=0; $i<count($bodys);$i++)
{       
    $ch = curl_init('https://...');
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $bodys[$i]); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers[$i]); 
    curl_setopt($ch, CURLOPT_WRITEFUNCTION, 'get_time');
    curl_multi_add_handle($multi, $ch);
    array_push($handles, $ch); 
} 

do {  
    $mrc = curl_multi_exec($multi, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
while ($active && $mrc == CURLM_OK) 
{
    if (curl_multi_select($multi) == -1) 
    {
        usleep(1);
    }
    do
    {
        $mrc = curl_multi_exec($multi, $active);
    }while($mrc == CURLM_CALL_MULTI_PERFORM);
}

foreach($handles as $channel)
{
    $html = curl_multi_getcontent($channel);
    $htmls[] = $html;
    curl_multi_remove_handle($multi, $channel);
}
curl_multi_close($multi);
return $htmls;
}

该函数get_time打印响应时间和内容:

function get_time($ch, $string)
{
    echo "<br>".microtime(false)."<br>".$string."<br>";
}

为了响应这两个请求,服务器以纳秒的精度返回它的时间(测试函数),最重要的是,这个时间从十分之几秒到几秒不等,因为请求multi curl不是异步发送的(无需等待响应)但顺序 - 即 首先收到对 1 个请求的响应,然后只发送了第二个。响应时间和接收数据的差异太大,我试图了解为什么会发生这种情况。为此,您需要准确了解microtime()每个multi curl请求的发送时间。

php
  • 1 个回答
  • 10 Views
Martin Hope
Сергей
Asked: 2020-10-16 01:19:03 +0000 UTC

通过脚本名称获取进程 pid

  • 0

您需要pid在后台运行 2 个或更多脚本。然后pid他们将被关闭,kill $pid但问题是如何让他们知道进程名称?例如,我system('ps aux | grep php');通常用来获取所有进程,我看到如下内容:

username 676878 100 0.0 296980 14372 ? R 13:04 3:27 /opt/cpanel/ea-php56/root/usr/bin/php/home/username/Business_Logic/testProc.php 
username 676943 99.8 0.0 296980 14372 ? R 13:04 3:25 /opt/cpanel/ea-php56/root/usr/bin/php/home/username/Business_Logic/testProc.php 
username 693011 1.0 0.0 461388 15888 ? Ss 13:08 0:00 lsphp 
username 693146 0.0 0.0 462164 6768 ? Ss 13:08 0:00 lsphp:/home/username/public_html/index.php 
username 693147 0.0 0.0 12228 1264 ? S 13:08 0:00 sh -c ps aux | grep php
username 693149 0.0 0.0 8492 696 ? S 13:08 0:00 grep php 

我需要杀死的前两个进程。但是,如果您进一步输入:

$proc_str = exec('ps aux | grep /home/username/Business_Logic/testProc');

我将在答案中看到一个完全不同的答案pid:

username 729968 0.0 0.0 8492 704 ? S 13:13 0:00 grep /home/username/Business_Logic/testProc 

它应该在$proc_str pid正确的过程中得分并杀死它,但这并没有产生预期的效果 - 过程仍然有效。

UPD 需要完成的过程我这样运行了几次:

system('php /home/usernam/Business_Logic/testProc.php > /dev/null 2>&1 &');

下一个杀:

exec('Killall testProc.php'); // ||
exec('Killall testProc');     // ||
exec('Killall  /home/username/Business_Logic/testProc.php');

结果,进程继续挂起。只有exec('kill 568454');帮助。

UPD_2

exec('pkill -f proc_name');

这个命令有帮助,一次杀死所有进程proc_name.php。

php
  • 2 个回答
  • 10 Views
Martin Hope
Сергей
Asked: 2020-09-28 18:43:53 +0000 UTC

如何在php中获取当前日期的刻度

  • 0

有.NET一个简单的方法来获取蜱:

var ticks = DateTime.Now.Ticks;
Console.WriteLine(ticks);
// Output: 636737386875592894

如何获得相同的结果php?到目前为止,我只找到了一个函数microtime(),但它返回的值最多为毫秒而不是最多ticks。

php
  • 1 个回答
  • 10 Views
Martin Hope
Сергей
Asked: 2020-09-14 01:09:46 +0000 UTC

计算 CRC32 的冲突

  • 4

问题出现了——例如,如果有一个函数值CRC32——a50985e0它是从一个字节数组中获得的—— (即从一个只有字符的字符串。)那么当函数出现时Hello,完全相同的值()的概率是多少a50985e0处理从12345即获得的字节数组 从数?

更新。

根据受人尊敬的@Alex 和@Harry 的回答,我得出结论,原则上无法避免冲突。并且随着数值数组的范围越来越大(从 0 到 1,000,000,000),总会有一个与从字符串获得的哈希匹配的哈希。在这方面,我将重新提出问题 - 这些碰撞的数量是否存在模式(是否有可能检测到它)?例如,在总的哈希数组 (0 - 2,000,000,000) 中检查X了一个数字Y(例如 12345)的哈希,发现了 10 个冲突,对于任何数字,结果数组中至少有 10 个冲突。虽然来自字符串的哈希Hello只会产生 1 次冲突,并且就像任何其他字符串一样,不会产生超过 1 次冲突。这样的模式存在吗?

алгоритм
  • 4 个回答
  • 10 Views
Martin Hope
Сергей
Asked: 2020-09-11 01:40:06 +0000 UTC

使用 jMeter POST 请求传递 Cookie

  • 0

测试 Web api 服务。无法将 Cookie 添加到 jMeter Post 请求。我使用HTTP Cookie Manager:

在此处输入图像描述

接下来,cookie 应该在标头中发送到服务器,但没有任何反应:

在此处输入图像描述

我究竟做错了什么 ?通过邮递员,一切都变得简单,有了 ​​jmeter,总的问题就开始了。

api
  • 1 个回答
  • 10 Views
Martin Hope
Сергей
Asked: 2020-09-07 19:34:08 +0000 UTC

区分模拟器和物理设备

  • 1

Xamarin我为Android和测试移动应用程序iOS,测试在真实设备和模拟器上进行。

然而,最近有必要区分在仿真器上运行的测试和在物理设备上运行的测试。

问题:有没有办法在测试过程中.apk或.ipa了解应用程序在哪里运行 - 在模拟器或真实设备上?

模拟器上是否有任何系统参数总是与真实设备不同?

c#
  • 1 个回答
  • 10 Views
Martin Hope
Сергей
Asked: 2020-07-30 19:06:56 +0000 UTC

保存大图形winforms图像

  • 0

我使用 winForms 进行绘图。图像保存方法:

VolChart.SaveImage("chart.jpeg", ChartImageFormat.Jpeg);

起初这已经足够了,但是当图表增长到 > 700 XPoints 时,图像变得完全没有信息。jpeg例如,有没有办法以分辨率足够大(200x5000)并且图形足够清晰的方式保存图像?有没有一种方法可以立即绘制图表而无需Chart在表单上使用和呈现它?

c#
  • 2 个回答
  • 10 Views
Martin Hope
Сергей
Asked: 2020-07-03 00:45:13 +0000 UTC

向rest api控制器发送post请求

  • 0

您需要向rest-api控制器发送 POST 请求并使用应用程序中的脚本获得响应asp web forms。脚本 :

<script type="text/javascript">
        function clientfunction() {
            try {
                var request = new XMLHttpRequest;
                request.onreadystatechenge = function () {
                    if (request.readyState == 4) {
                        console.log('.....');
                    }
                    else
                    {
                        console.log('-----');
                    }
                }
                request.open("POST", "https://...", false);
                request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                request.setRequestHeader("Access-Control-Allow-Origin", "*");
              request.send("post data");
            } catch (err) { console.log(err); }
        }
</script>

控制台中显示错误:

对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。

奇怪的是,在邮递员中,当指定相同的 url、方法、相同的标头和与请求正文相同的行时,一切都按预期进行 - 请求消失了,我得到了正确的答案。脚本有什么问题还是在浏览器中?

javascript
  • 2 个回答
  • 10 Views
Martin Hope
Сергей
Asked: 2020-07-01 18:36:20 +0000 UTC

更改ip地址

  • 2

是否可以使用该实用程序更改 Internet 上的 IP 地址netsh?试过这个命令:

netsh 接口 ip 设置地址名称="MyWeb" 静态 192.168.10.155 255.255.255.0 192.168.10.40 1

在哪里 :

静态 192.168.10.155(新 ip)

255.255.255.0(掩码)

192.168.10.40(子网前缀)

1(启用 DHCP)

之后,互联网连接被关闭,您只能通过返回旧设置来恢复它。而且这并不奇怪,因为DHCP服务器问题ip地址,据我了解,您自己更改它是行不通的,因此2台PC没有一个地址。所以问题是 - 真的可以改变 ip 使用netsh吗?

PS如果在Windows中不可能,那么在Linux中可能更容易?

通过 UPD 我的设置netsh interface ip show address

Настройка интерфейса "WNC"
DHCP включен:                      Да
IP-адрес                           192.168.0.10
Префикс подсети:                   192.168.0.0/24 (маска 255.255.255.0)
Основной шлюз:                     192.168.0.1
Метрика шлюза:                     0
Метрика интерфейса:                25
windows
  • 1 个回答
  • 10 Views
Martin Hope
Сергей
Asked: 2020-06-28 17:21:30 +0000 UTC

重构将字符串转换为对象的方法

  • 0

有一个服务器,在出现无效请求的情况下,会返回一个JSON表示类型对象的反序列化字符串EXCEPTION。根据错误的类型,对象可以具有与简单对象完全不同的结构:

public class simpleException
{
    public string Reason {get;set;}
    public string Controller {get;set;}
}

要处理收到的响应并了解异常究竟发生了什么,有一个方法:

try 
{
    var Err = JsonConvert.DeserializeObject<simpleException>(responsedBodyStr);
}
catch (JsonSerializationException)
{
    try 
    {
        var Err = JsonConvert.DeserializeObject<TrsException>(responsedBodyStr);
    } 
    catch(JsonSerializationException)
    {
        try {....
    }
}

try-catch还有更多的嵌套级别,它们变成了可怕的意大利面条代码。 其实问题是——如果你也遇到过类似的情况,那么就如何改进代码分享你的建议?

upd 我得到这样的异常行:

catch (WebException ex)
{
    ExcStr= new StreamReader(ex.Response.GetResponseStream()).ReadToEnd(),
c#
  • 2 个回答
  • 10 Views
Martin Hope
Сергей
Asked: 2020-06-08 23:51:57 +0000 UTC

将委托传递给构造函数时的歧义

  • 4

有一个简化形式的命令类,如下所示:

public class Command
{

    public Command(int price, Action method)
    {
        method.Invoke();
    }
    public Command(int price, Func<int> method)
    {
        var id = method.Invoke();
    }
}

在构造函数 1 中接受int和Action- 对不返回任何内容的方法的引用。在构造函数 2Func<int>中,对返回整数的方法的引用。我还有 2 个可以传递给构造函数的方法:

public void toDosome()
{

}
public int newId()
{
    return 100500;
}

接下来,我创建一个对象,没有问题:

var command = new Command(11, newId);

但是,如果相反,newId结果是toDosome:

var commandTo = new Command(1211, toDosome);

我会得到一个例外:

以下方法或属性之间的调用不明确。

同时,我无法删除任何构造函数以成功创建commandor commandTo。在这种情况下如何行动?

c#
  • 1 个回答
  • 10 Views
Martin Hope
Сергей
Asked: 2020-05-20 02:13:23 +0000 UTC

从视图发送和返回模型

  • 1

一个控制器有2种方法。第一个将模型对象发送到视图。视图包含一个显示对象某些属性的表单,但用户输入新数据并由此完成对象并将其发送到第二个方法。看起来像这样:

1 种方法

[HttpGet]
public ActionResult Index(string Id)
{
   return View(new DownloadModel() { Idfile = Id, IsIdCorrect = true });
}

表现

@using (Html.BeginForm("file", "download"))
{
        <p>Id файла : <input type="text" name = "Idfile" value="@Model.Idfile"></p>
        <p>Введите пароль от файла</p>
        <p><input type="password" name="Password"/> </p>
        <p><input  type="submit"/></p>
}

2方法

[HttpPost]
public ActionResult file(DownloadModel model)
{ ...

问题 - 什么 html 控件可用于显示属性Model.Idfile而不是输入,以便它与密码一起进入第二种方法?现在我正在使用输入,但它不方便且不安全 - 用户可以开始输入自己的值,用什么替换它?

更新

我试图隐藏输入,但在某些浏览器上它仍然可见。

    <input type="hidden" name="Idfile" value="@Model.Idfile">

在此处输入图像描述

c#
  • 1 个回答
  • 10 Views
Martin Hope
Сергей
Asked: 2020-05-06 03:39:58 +0000 UTC

模型参数通过浏览器线获取

  • 0

Index有控制器方法files。

    [HttpGet]
    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Index(UploadModel ResultModel)
    {
        if (ResultModel.FileId != null)
        {
            ViewBag.UploadResutl = "File Uploaded Successful!";
            ViewBag.UploadLink = $"File Link :: {ResultModel.FileId}";
            ViewBag.UploadPassword = $"File Password :: {ResultModel.Password}";
        }
        else
            ViewBag.UploadResutl = ResultModel.Result;
        return View();
    }

这些字段是文件上传和重定向成功后UploadModel 显示的私有数据:View

表现 :

<div> 
    <h3>Выберите файл для загрузки</h3>
    @using (Html.BeginForm("upload", "files", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
        <input type="file" name="upload" value="Открыть" /><br>
        <input type="submit" value="Загрузить" />
    }
</div>

上传文件 :

public async Task<ActionResult> upload(HttpPostedFileBase upload)
{
    ...
    return RedirectToAction("Index", ResultModel);
}

但是,另外它们显示在浏览器和历史栏中,这不再好。如何传递给Index模型,使其不会显示在浏览器行中?

在此处输入图像描述

c#
  • 1 个回答
  • 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