1
这里大概是我有:如何确定来自Web请求URL的Ninject绑定的值?
阿比控制器
public class MyController : ApiController
{
public MyController(IServiceThatNeedsPrinicipal myService)
{
}
}
为MyService
public class MyService: IServiceThatNeedsPrinicipal
{
public MyService(IMyPrincipal myService)
{
}
}
IMyPrincipal
public interface IMyPrincipal : IPrincipal {}
这种自我托管网站会得到一个POST
要求如:
localhost:9005/Start?UserId=1
我想要做的是:
this.Bind<IMyPrincipal>().ToMethod(c =>
{
int userId = /* Get UserId from Request -- How do I do this inside a NinjectModule? */
IMyPrincipal mp = CodeToGetMyPrincipalFromUserId(userId); /* I know how to do this */
return mp;
});
我想:
var request = HttpContext.Current.Items["MS_HttpRequestMessage"] as HttpRequestMessage;
var queryPairs = request.GetQueryNameValuePairs();
而且通过queryPairs,但在运行时HttpContext.Current
是null
。
任何想法 - 我如何从网址中获取价值并可在我的Ninject模块中访问?
在此先感谢!