问题标签 [rust-actix]
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.
rust - Actix Web 的终身问题
我正在使用 Actix-web 实现中间件,并且遇到了我无法弄清楚的生命周期问题。
我得到的错误如下,
至于我的理解,我cache_addr
作为对函数的引用传递with_tus
。在每个闭包中route
,addr
也是一个引用。
我不明白为什么编译器说the lifetime cannot outlive the anonymous lifetime #1
. 据我所知,它cache_addr
的生命周期仍然比关闭时间长。寿命应该覆盖到system.run()
线。有人可以启发我吗?
编辑:
我将上面的代码更新为 MCVE(至少可以简单地复制整个代码并运行 cargo build,同时仍然保留相同的错误消息)。我不能在 rust-playground 上运行它。它目前不支持actix
crate。我尝试进一步减少它,但它给了我一个不同的错误。抱歉,我对 Rust 很陌生。
我的问题是双重的,一个我喜欢了解错误告诉我什么。其次,我想知道如何正确执行此操作,actix
因此示例代码依赖于actix
.
rust - 在继承自另一个特征的特征中指定关联类型
我开始着手我的第一个更雄心勃勃的 Rust 项目,并与我在用于学习的任何资源和教程中没有遇到的东西作斗争。问题的标题抓住了抽象问题,但对于示例,我将使用我正在与之抗争的具体示例。
对于我的项目,我需要与不同的第三方服务交互,因此我决定使用actix框架作为我领域中不同参与者的抽象。该框架定义了Actor
必须实现的特征:
我有一个自己的特征,它定义了第三方集成的接口。让我们称之为Client
。我希望每个客户都表现得像个演员。
在其他地方,我有一个存储对系统中所有活动客户端的引用的向量。当我编译代码时,我收到以下错误:
我现在花了几个小时试图解决这个问题,但都没有奏效。
- 我试图在特征中指定类型,但得到了
associated type defaults are unstable
一个错误。 - 我试图在 trait 的实现 (
impl Simulation
) 中指定类型,但得到了associated types are not allowed in inherent impls
一个错误。 - 我尝试了一些东西
impl <T: Actor> Simulation for T
(例如,如图所示),但没有任何效果。
我的假设是我缺少关于特征和类型的重要知识。如果有人能帮助我解决我的问题,并指出我丢失的拼图的方向,我将不胜感激。我觉得这里有一个关于 Rust 的重要课程,我真的很想学习。
scala - 无法将 futures-util 板条箱与 Actix 一起使用,因为未实现特征 Future
Scala 有一种方法可以通过Futures.sequence
我在 Rust 中寻找相同的东西并找到了futures_util 板条箱。我在从 Actix 示例编辑的程序中使用了这个 crate,但它无法编译。
货运.toml
代码 :
即使错误是有意义的,我发现很难像Request
在 Actix implements中那样解决Future
。我错过了任何进口吗?
rust - 将 actix_web 响应的主体提取到字符串中的正确方法是什么?
我正在尝试使用actix_web来获取和显示网页的内容。HTTP 请求成功完成,我可以查看网页,但我想将正文读入String
用于打印。
我试过let my_ip: String = response.body().into();
了,但我得到一个错误,上面写着
这是我到目前为止所拥有的:
相关依赖版本:
rust - Actix-web:向数据库处理程序发送消息,有条件地向第二个处理程序发送消息
我正在尝试向一个数据库处理程序发送一条消息,并根据结果向第二个处理程序发送一条消息,或者从第一个处理程序返回一个错误。
到目前为止,我想出的方法行不通;锈蚀 说match arms have incompatible types
expected struct 'futures::future::and_then::AndThen', found enum 'std::result::Result'
质疑如何在 actix-web 中完成此操作?
rust - 将 actix-web 嵌入到结构中,以便我可以启动/停止服务器
我正在将 actix-web 嵌入到绑定库中。我想HttpServer
在结构中声明 a 以便我可以轻松调用.start()
and .system_exit()
。根据我对源代码的非常基本的阅读,它已经实现为具有两个依赖项的结构:<H, F>
. 它还带有一个工厂来实例化自己。
如果我正确理解这一点,那么我将不得不HttpServer
在我的新结构中实现依赖项并在其中添加我自己的特征。我之前的想法是创建一个新结构并在HttpServer
其中声明为属性。对于需要在其中声明的泛型来说,这似乎很麻烦。
到目前为止,我想出的是:
我不确定我是在抓住稻草还是在正确的方向。
问题是:我应该/如何定义一个具有 HttpServer 的结构,并且它的功能可以在我的结构中访问?
rust - 结构中的闭包与函数声明
我在编译我的应用程序时遇到了麻烦(作为新手)。这可能是最明显的细节,但我正在努力理解正在发生的事情。
我正在为 Actix Web 服务器库编写一个包装器结构。我的结构是这样定义的:
我正在尝试创建结构并通过函数返回它:
expected fn pointer, found closure
. 我确实明白这可能是由于我对如何声明具体结构和类型的理解中缺失的部分。我也明白我传递的是一个闭包而不是一个函数。
所以我的思考过程是:a)我如何将闭包声明为HttpServer
参数的一部分,或者b)我可以在结构中声明函数并将其作为返回应用程序的工厂/生成器返回吗?
asynchronous - 将请求正文转发到 Actix-Web 中的响应
我想将 Actix-Web 请求正文转发到响应正文(类似于 echo),但它给出了mismatched types
错误。
错误:
为什么会发生此错误,我该如何解决?
rust - 将数据附加到 Actix-web 中的代理响应
我想将用户的请求数据附加到中的过氧化响应中actix-web
,但type mismatch resolving
会发生错误。
我认为这与生锈期货有关,但我不知道这个问题以及如何解决它。
示例代码:
货运.toml
显示错误: