Subsonic 亚音速类在Windows应用程序中引用了HttpContext.Current.User

Subsonic 亚音速类在Windows应用程序中引用了HttpContext.Current.User,subsonic,Subsonic,我用的是亚音速2.1。我在一个数据库上运行了它,它似乎正确地创建了所有文件。然而,当我使用其中一个类时,应用程序无法构建。我正在制作一个Windows应用程序,但在亚音速文件中有一个对HttpContext.Current.User的引用。有人知道为什么会这样吗?亚音速最初设计用于asp.net应用程序中 但是,它在Windows.Forms应用程序中工作得非常好。但是您需要在项目中包含System.Web 查看ClassTemplate.aspx: 如果代码在asp.net网页内执行,它将从上

我用的是亚音速2.1。我在一个数据库上运行了它,它似乎正确地创建了所有文件。然而,当我使用其中一个类时,应用程序无法构建。我正在制作一个Windows应用程序,但在亚音速文件中有一个对HttpContext.Current.User的引用。有人知道为什么会这样吗?

亚音速最初设计用于asp.net应用程序中

但是,它在Windows.Forms应用程序中工作得非常好。但是您需要在项目中包含System.Web

查看ClassTemplate.aspx:

如果代码在asp.net网页内执行,它将从上下文中提取用户名,并从当前线程中获取用户名

亚音速中有一个约定,如果您的表包含CreatedBy和ModifiedBy列,并且您使用item.Save(“username”)方法,这些列也会得到更新


如果您将CS_ClassTemplate.aspx文件更改为不使用System.Web并重新生成DAL,则可能不再需要对System.Web的引用

啊,我明白了!我以为我弄坏了什么东西,哈哈!谢谢
if (System.Web.HttpContext.Current != null)
    item.Save(System.Web.HttpContext.Current.User.Identity.Name);
else
    item.Save(System.Threading.Thread.CurrentPrincipal.Identity.Name);