问题标签 [mta]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
235 浏览

c# - 为什么 Task.Delay 会破坏线程的 STA 状态?

介绍

这是一个很长的问题!您将在开始时找到有关问题的一些背景,然后是代码示例,这些示例已被简化以用于表示和之后的问题。请按照您认为适合您的任何顺序阅读!

背景资料

我正在为与 STA COM 通信的应用程序编写概念验证部分。这部分应用程序需要在单线程单元 (STA) 上下文中运行,以便与所述 STA COM 通信。应用程序的其余部分在 MTA 上下文中运行。

当前状态

到目前为止,我想出的是创建一个包含循环的通信类,在 STA 中运行。while需要中继到 COM 对象的工作从外部通过ConcurrentQueue. 然后工作项在 while 循环中出列并执行工作。

代码上下文

通讯类

这是一个static类,包含一个循环,旨在在 STA 状态下运行并检查是否需要由 COM 完成某些工作并将工作分派给处理程序。

工作指挥

此类描述需要完成的工作以及可能提供的任何参数。

工作单位

此枚举定义了 COM 可以执行的各种任务。

所有者

这是拥有生成CommunicationCOM 的类的示例,并且是对应用程序其余部分使用的抽象Communication

问题

现在,看一下Communication.StartCommunication()方法,更具体地说是这部分:

如果此行替换为以下内容:

在检查最后一站 -Communication.InternalInitializeCOM()线程的公寓似乎是MTA

但是,如果延迟逻辑更改为

CommunicationInternalInitializeCOM()方法似乎在STA状态下执行。

检查由Thread.CurrentThread.GetApartmentState().

问题

谁能向我解释为什么会Task.Delay破坏 STA 状态?还是我在这里做其他错误的事情?

谢谢!

感谢您抽出所有时间阅读问题!祝你有美好的一天!

0 投票
1 回答
406 浏览

python - 使用 Python 拉取 Mimecast 日志

我希望有人经历过这个,并希望有一个可以工作的 Python 脚本。我一直在尝试从 Mimecast 中提取 MTA 日志。到目前为止,我已经尝试了以下网站的代码:

https://www.mimecast.com/tech-connect/documentation/endpoint-reference/logs-and-statistics/get-siem-logs/

https://github.com/JoshuaSmeda/mimecast_log_collector

https://github.com/bsdkid/mimecast-api-class/blob/master/get-TTP.py

我得到的错误是

SSLError: HTTPSConnectionPool(host='api.mimecast.com', port=443): Max retries exceeded with url: /api/login/discover-authentication (由 SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证引起失败 (_ssl.c:645)'),))

我还拥有所有必要的凭据,例如用户(帐户)、密码、app_id、app_key、access_key 和 secret_key。不幸的是,没有什么对我有用。

任何帮助深表感谢。

谢谢

0 投票
1 回答
195 浏览

lua - #MTASA 服务器错误:尝试索引零值

我真的不知道这里有什么问题。这是我得到的错误:

s_interior_admin.lua:944:尝试索引本地“内部”

这是我的代码:

0 投票
1 回答
442 浏览

c# - VS 2019 在 MTA 中运行 MSTest

我们有一个带有ThreadPool和的遗留应用程序WaitHandle。我们想针对它使用MSTest编写单元测试。我们遇到了一个问题,默认情况下 MSTest 在 STA(单线程单元)模式下运行,并且测试抛出以下异常,

System.NotSupportedException:不支持 STA 线程上的多个句柄的 WaitAll。在 System.Threading.WaitHandle.WaitAll 的 System.Threading.WaitHandle.WaitMultiple(WaitHandle[] waitHandles,Int32 毫秒超时,布尔 exitContext,布尔WaitAll)在 System.Threading.WaitHandle(WaitHandle[] waitHandles,Int32 毫秒超时,布尔 exitContext)在 System.Threading.WaitHandle。 WaitAll(WaitHandle[] waitHandles,TimeSpan 超时,布尔型 exitContext)

0 投票
0 回答
73 浏览

email - fetchmail /bin/sh: 0: 无法打开日期

我从 bash shell 运行它:

它在日志中说

/bin/sh: 0: 无法打开日期

..并终止。

0 投票
1 回答
503 浏览

sapui5 - Mta 应用程序无法部署并出现冲突错误

我在星期五最后一次部署了该应用程序,它已成功部署。但是,从今天早上开始,部署根本没有发生。它正在检查冲突的进程并失败。 在此处输入图像描述

我是从网上做的,我无法检查有什么冲突的过程以及如何解决它。

0 投票
2 回答
5835 浏览

php - 电子邮件中 ​​.eml 文件的 MIME 类型是什么

我想将 MTA 报告(未发送的退回邮件)附加到电子邮件中,但正确的 MIME 类型是什么?

我获取 MTA 报告的全文

但是附加的 .eml 文件的正确 MIME 类型是什么?

已经尝试过message/rfc822,但是当您在 Thunderbird 中打开文件时,弹出窗口是空的。也尝试过text/plain,但附件以纯文本形式打开。我想将附件 .eml 作为电子邮件打开

当您收到 MTA 报告(未送达)时,退回邮件始终作为附件转发

我想将完整的 MTA 报告 + 转发的退回邮件附加到新邮件中

0 投票
1 回答
41 浏览

c# - 您应该使用以下哪个 SQL 语句?

我是 C# 和 stackoverflow 的新手。我正在审查我在 MTA 认证准备测试中弄错的问题。谁能帮我理解正确答案是什么以及为什么?谢谢!

在此处输入图像描述

0 投票
0 回答
65 浏览

server - 如何在房间里没有命令的情况下使 mta 服务器状态?

像这样在此处输入图像描述

常量 Gamedig = 要求(“gamedig”);module.exports = { name: "status", run(client, message, args) { Gamedig.query({ type: "mtasa", host: "94.23.68.73", port: "22003", }) message.edit (msg) msg​​.then((state) => { if (state["raw"]["numplayers"] === 0) { let embed = new Discord.MessageEmbed() .setColor("RED") .setTitle (state["name"]) .addField("Status:", "Online", true) .addField("Players:", state["raw"]["numplayers"] + "/" + state["maxplayers "], true ) message.channel.send({ embed }); } else { let embed = new Discord.MessageEmbed() .setColor("RED") .setTitle(state["name"]) .addField("Status ", "在线", true) .addField("玩家", state["raw"]["numplayers"] + "/" + state["maxplayers"], true ) message.channel.send({ embed }); } }) .catch((error) => { let embed = new Discord.MessageEmbed() .setColor("RED") .setTitle(state["name"]) .addField("Status:", "Offline") .addField("Players", state["raw"]["numplayers"] + "/" + state["maxplayers"], true ) message.channel.send({ embed }); }); }, }; ]["numplayers"] + "/" + state["maxplayers"], true ) message.channel.send({ embed }); }); }, }; ]["numplayers"] + "/" + state["maxplayers"], true ) message.channel.send({ embed }); }); }, };

0 投票
1 回答
125 浏览

multithreading - STA/MTA 与公寓/空闲线程与 UI 线程/工作线程是什么?为什么改名?

我正在阅读Dale Rogerson 的Inside COM,它使用术语单元线程自由线程来描述不同类型的 COM 线程。

他还澄清了这些直接对应于UI 线程工作线程

COM 使用相同的两种类型的线程,尽管 COM 对它们有不同的名称。COM 没有调用用户界面线程,而是使用术语单元线程。使用术语自由线程而不是工作线程。[...]

但是,许多其他文档都提到了STAMTA。“单线程公寓”和“多线程公寓”。

  • “公寓/免费线程”和“STA/MTA”是否意味着不同的东西?Rogerson 的书 (1997) 是否不再反映 COM 的线程模型?
  • 为什么名称变了?