如何访问服务中的请求 cookie?
注意:我使用的是旧版本的servicestack:3.9.33.0(收到很多这样的警告:'ServiceStack.ServiceHost.IService'已过时:'Use IService - ServiceStack's New API for future services')
我的服务定义如下:
public class TableService : IService<TableRequest>, IService<NextStepRequest>, IService<SaveNextStepRequest>, IService<SaveCellTextRequest>, IService<SaveCommentsRequest>, IService<UpdateTimestampRequest>, IService<DateTimeTestRequest>, IService<CreateNewIssueRequest>, IService<IssueTypesRequest>, IService<LookupItemsRequest>, IService<UpdateColumnOrderRequest>, IService<CancelSiteDialogDataRequest>, IService<CancelSiteRequest>, IService<QuerySiteNamesRequest>, IService<MapQueryRequest>, IService<TtsignInfoRequest>, IService<CheckListItemRequest>, IService<SiteStatusRequest>
{
public TableService(Container container)
{
_container = container;
}
public object Execute(TableRequest request)
{
// How can I access the cookies here?
}
.....
由于我使用的是旧版本的框架,我有点不确定当前文档是否适用于它。如果是这样,请给我指出正确的方向。
(是的,我知道我应该升级,但是有很多代码正在运行,只需要做一个小修复。而且由于我没有完整的单元测试集,所以我害怕进行升级)
感谢您的帮助
拉尔西
最佳答案
简单的回答。只需实现 IRequiresRequestContext 即可注入(inject)请求上下文。 https://github.com/ServiceStack/ServiceStack/wiki/Access-HTTP-specific-features-in-services
关于ServiceStack 获取 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19518854/