gpt4 book ai didi

c# - ServiceStack:AppHost 不支持通过单例访问当前请求

转载 作者:可可西里 更新时间:2023-11-01 16:20:17 32 4
gpt4 key购买 nike

我在尝试使用 this.SessionAs<T> 时遇到以下异常在我的一项服务中:

"AppHost does not support accessing the current Request via a Singleton"

违规代码位于构造函数中。奇怪的是,我只在使用 POST 动词时才看到这一点。我还不确定这是否只是巧合。

很抱歉此时没有提供详细信息。我试图弄清楚我的故障排除应该采取哪个方向。我会根据需要进行编辑。

谢谢

更新 - 堆栈跟踪

at ServiceStack.HostContext.GetCurrentRequest() at ServiceStack.SessionFeature.GetOrCreateSession[T](ICacheClient cache, IRequest httpReq, IResponse httpRes) at ServiceStack.Service.SessionAsTUserSession at PeruseServiceStack.Services.Settings.UserService..ctor() at lambda_method(Closure , Container ) at Funq.Container.ResolveImpl[TService](String name, Boolean throwIfMissing)

我会尽快更新,我觉得这个痕迹不完整。

最佳答案

从 StackTrace 看来,您正在尝试访问 SessionAs<T>在你的UserService你不能做的构造函数,因为 Session 只能在 Request 的上下文中访问,而 Service 构造函数无权访问注入(inject)的 IRequest能够访问 session 的上下文。

所以你需要移动SessionAs<T>()在您的服务实现中调用您的构造函数。

关于c# - ServiceStack:AppHost 不支持通过单例访问当前请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53290627/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com