gpt4 book ai didi

servicestack - 服务栈如何确定可用的服务?

转载 作者:行者123 更新时间:2023-12-04 00:41:49 25 4
gpt4 key购买 nike

我有几个使用 ServiceStack 定义的服务,它们工作正常。我使用以下请求对象添加了一个新对象

namespace LCS.Presentation.API.Model.DocumentTemplates
{
[Authenticate]
[Route("/document/{Type}/{Id}", "GET,PUT")]
[Route("/document/{Type}", "POST")]
public class UploadFileRequest : IReturn<UploadFileResponse>
{
public long Id { get; set; }
public string Type { get; set; }
public string Filename { get; set; }
public string File { get; set; }
}
}

我已经定义了一个响应对象:

public class UploadFileResponse : IResponseBase
{
public string Path { get; set; }
public ResponseStatus ResponseStatus { get; set; }
}

和服务的书面 stub :

public class UploadFileService : Service
{
private ICoreLoggingService Logger { get; set; }

public UploadFileService(ICoreLoggingService logger)
{
Logger = logger;
}
public UploadFileResponse Post(UploadFileRequest request)
{
Logger.Debug("Got POST file request: {0}", request);
var response = new UploadFileResponse();
return response;
}

public UploadFileResponse Put(UploadFileRequest request)
{
Logger.Debug("Got PUT file request: {0}", request);
var response = new UploadFileResponse();
return response;
}

public UploadFileResponse Get(UploadFileRequest request)
{
return null;
}
}

但是,当我转到元数据页面 (/api/metadata) 时,我没有看到 UploadFileRequest 服务与我的其他服务一起列出。

ServiceStack 被配置为以/api 为根,我的所有其他服务在元数据页面中正确显示为被配置为使用该路由。

我错过了什么导致 ServiceStack 不将其视为可用服务?

最佳答案

从评论中复制出来,这样更容易找到、更具可读性和准确性

当我遇到这个问题时,我做了一些事情:

1 - 在您的 AppHost 类中,将 typeof(UploadFileService).Assembly 添加到传递给基类的程序集数组中,以显式尝试加载它

2 - 在 UploadFileService 类中确保您引用的是“ ServiceStack.ServiceInterface.Service”而不是“ System.Web.Services.Description”。 Service' 这是不可能的,因为类不能继承自 System.Web.Services.Description.Service

3 - 如果通过 Visual Studio 运行,停止 IIS Express 以强制运行“Application_Start”。

关于servicestack - 服务栈如何确定可用的服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19245418/

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