【发布时间】:2012-01-12 17:21:25
【问题描述】:
我正在使用 ASP.NET Webforms,并且在一个页面中,我想在后面的代码中对 Web 方法进行 AJAX 调用。问题是 Web 方法是静态的,我无法访问页面变量。我需要能够让 Ninject 注入依赖项。有没有办法在网络方法中做到这一点?
public partial class Default : Ninject.Web.PageBase
{
[Inject]
public ISecurityController SecurityController { get; set; }
[WebMethod]
public static string DoSomething()
{
SecurityController.WriteToLog(); // Can't access SecurityController because it doesn't exist.
}
}
由于 web 方法是静态的,因此将它放在页面背后的代码中几乎看起来很愚蠢,因为它实际上无法与页面交互。它是背后代码中的一个孤岛。有没有更好的方法来实现这一点?或者至少有一种方法可以让 Ninject 以某种方式将 ISecurityController 注入 web 方法?
感谢您的帮助。
【问题讨论】:
标签: c# asp.net .net ajax webforms