WCF允许我在form2
方法调用的持续时间内设置会话值。
迁移到Web API,这将不再有效。在不更改[OperationContract]
调用的方法签名的情况下,我还可以使用其他内容吗?
感谢。
答案 0 :(得分:0)
如果您只想存储请求剩余部分的值,可以将其放在HttpRequestMessage.Properties
中。以下是在控制器之前调用DelegatingHandler
的示例:
public class MyHandler : DelegatingHandler
{
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
request.Properties.Add("SomeKey", "SomeValue");
return base.SendAsync(request, cancellationToken);
}
}
public class MyController : ApiController
{
public IHttpActionResult Get()
{
var someValue = Request.Properties["SomeKey"];
// do stuff
return Ok();
}
}