gpt4 book ai didi

servicestack - 从 Razor 调用 ServiceStack 服务

转载 作者:行者123 更新时间:2023-12-01 10:54:41 24 4
gpt4 key购买 nike

这里有点极端情况:我需要从 Razor (同一网站)调用服务堆栈服务我现在正在做

CheckIfConfiguredResponse aResponse= new JsonServiceClient("http:\\localhost:2000").Get<CheckIfConfiguredResponse>("/CheckIfConfigured"); 

这样做是正确的方法吗?或者有更好的吗?此外,如何避免手动指定网址并让它自动填充主机(因为它是同一个网站)

提前致谢,会。

最佳答案

您永远不想仅仅为了调用 ServiceStack 服务而向自己发起 HTTP 调用。

与其他框架不同,ServiceStack 中的服务只是自动连接的 C# 类型,您可以像其他所有已注册的 IOC 依赖项一样从 IOC 访问它们。即在 Razor View 中,您可以简单地解析它并直接从 IOC 调用它:

var response = base.Get<CheckIfConfiguredService>().Get(new CheckIfConfigured());

这会像普通自动连接的 C# 依赖项一样解析和调用服务,但不会注入(inject)当前请求上下文。如果您的服务确实需要它,您可以改用 AppHostBase.ResolveService哪个确实如此,例如:

var response = AppHostBase
.ResolveService<CheckIfConfiguredService>(HttpContext.Current)
.Get(new CheckIfConfigured());

关于servicestack - 从 Razor 调用 ServiceStack 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15962845/

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