Tag: session

使用ASP.NET MVC的每个会话生活方式的Castle项目

我是Castle Windsor IoC容器的新手。 我想知道是否有一种使用IoC容器存储会话变量的方法。 我在想这个问题: 我想要一个类来存储搜索选项: public interface ISearchOptions{ public string Filter{get;set;} public string SortOrder{get;set;} } public class SearchOptions{ public string Filter{get;set;} public string SortOrder{get;set;} } 然后将其注入必须使用它的类中: public class SearchController{ private ISearchOptions _searchOptions; public SearchController(ISearchOptions searchOptions){ _searchOptions=searchOptions; } … } 然后在我的web.config中,我配置城堡我希望有类似的东西: 让IoC容器处理会话对象,而不必自己显式访问它。 我怎样才能做到这一点? 谢谢。 编辑:一直在做一些研究。 基本上,我想要的是一个会话Scoped组件。 我来自Java和Spring Framework,在那里我有会话范围的bean,我认为这对存储会话数据非常有用。

Web Api 2会话

我无法在web api 2中获取会话数据。我已经validation了cookie是在fiddler中发送的。 我知道web api 2最佳实践是无状态,但由于对项目的要求,现在必须满足状态。 我试过这个链接。 WebAPI 2属性路由启用会话状态 var session = SessionStateUtility.GetHttpSessionStateFromContext(HttpContext.Current) 通过上面的解决方案,我在该函数上获得了一个nullexception。 我还尝试通过修改路由中的请求处理程序,以旧方式api中的方式复制这种方式,但这在web api 2中不可用。 我目前在mvc5中设置了一些会话变量。 这工作和会话保持不变,但无论何时我在web api 2中尝试使用会话,下面都是null。 HttpContext.Current.Session

在会话中检索并保存gridview

我有一个搜索页面,当我在文本框中写下我的名字时,它将搜索并在GridView中显示结果。 我正在使用带有QueryExtender的EntityDataSource ,因此我没有在C#中编写任何代码。 问题是:在GridView中我点击它时有一个超链接,它会转到另一个页面,好吧当我返回上一页时,GridView没有显示我离开时的搜索结果,因为回发(更新面板)它显示来自EntityDataSource的整个数据。 我想我必须使用session但我不知道怎么做,我的意思是我如何在会话中保存GridView以及如何在page_load中检索它。

尝试了解使用会话转移列表框值/项目。

在我的第一页上,我有两个电影和零食的列表框 它们被称为lbDisplay for Movies和lbSelected for Snacks 。 我目前正在使用具有以下代码的“转到购物车”function: Session[“lbSelectedMovies”] = lbDisplay; Session[“lbSelectedSnacks”] = lbSelected; Response.Redirect(“RingU6POSReview.aspx”); 在重定向页面上,我希望给定值传输到的两个列表框称为lbRvMovies和lbRvSnacks 该页面名为RingU6POSReview.aspx 任何人都可以帮我理解在重定向客户时如何传输值?

视图exception后的Nhibernate Lazy Loadexception

我用NHibernate和Fluent配置得到一个奇怪的行为。 每当发生与NHibernate无关的genericsexception时,即在视图中, DivideByZeroException抛出exception后的每个请求。 An exception of type ‘NHibernate.LazyInitializationException’ occurred in NHibernate.dll but was not handled in user code. Additional information: Initializing[Entity]-Could not initialize proxy – no Session. 由于bug的性质,bug是至关重要的,因为如果1个用户生成exception,则可以使整个网站死亡 接下来是我的HttpModule for Nhibernate和Asp.Net MVC 5来处理会话。 NHibernateSessionPerRequest.cs public class NHibernateSessionPerRequest : IHttpModule { private static readonly ISessionFactory SessionFactory; // Constructs our HTTP module static NHibernateSessionPerRequest() { SessionFactory = […]

WPF中的会话?

在ASP.NET中,我可以做Session[“something”] = something; ,然后我可以在另一个页面中检索会话的值。 WPF中是否有允许我在ASP.NET中执行相同操作的会话? 我注意到WPF中没有会话因为有状态。 因为我有很多用户控制页面,我需要获取它的值并在MainWindow上显示它。 WPF中的Session有什么类似的东西吗? 有些资源说要使用cookies。 我怎么做? 我的WPF应用程序不是WPF Web应用程序吗?

是否可以使用SSH.NET从单个登录会话执行多个SSH命令?

我正在使用带有SSH.NET的C#,并且能够使客户端SSH连接正常工作,以便跨SSH执行命令。 我可以连接到虚拟机管理程序VM上的Linux安装,没有任何问题,读回StdOut和StdErr等。 但是,每个命令都像一个全新的会话 – 它始终从/home/user ,即使您使用最后一个命令从另一个目录完成。 您可以使用分号将多个命令串起来: pwd; cd ..; pwd /home/user /home 但是如果我执行: pwd /home/user 我回到了该用户的主目录。 我没有断开和关闭命令之间的会话。 以下是连续几个命令的示例代码,使用路径中的更改来说明问题: public void MultiCommandTest() { string output1, output2; var host = Config.SshHostName; var port = Config.SshHostPort; var user = Config.SshUsername; var pass = Config.SshPassword; var auth = new PasswordAuthenticationMethod(user, pass); var info = new ConnectionInfo(host,port,user,auth); using (var […]

在WCF中使用会话

以下是我在WCF应用程序中使用Session要做的事情: System.Guid guid = System.Guid.NewGuid(); string id = guid.ToString(); HttpContext.Current.Session[id] = “AnyThing”; 但我收到此错误消息: 对象引用未设置为Object的实例。 这是在WCF应用程序中使用Session的正确方法吗? 或者是否有另一种方法在WCF中存储数据?

让asp.net在会话中存储视图状态而不是增加html

我试图让asp.net在会话中存储viewstate,而不是填充html。 现在我已经读过asp.net附带了SessionPageStatePersister,可以使用它来代替默认的HiddenFieldPageStatePersister来执行此操作。 我想知道我是怎么放弃它的? 这就是我到目前为止:我想我需要创建一个PageAdapter,它从GetStatePersister方法返回一个SessionPageStatePersister,并以某种方式让页面使用这个pageadapter。 但Page.PageAdapter只有一个getter,所以我不确定你是如何设置它的。 请参阅此处的“备注”标题: http : //msdn.microsoft.com/en-us/library/system.web.ui.hiddenfieldpagestatepersister.aspx 谢谢!

我可以在隐藏的表单字段中放置ASP.Net会话ID吗?

我在ASP.Net网站上使用Yahoo Uploader,Yahoo UI Library的一部分,允许用户上传文件。 对于那些不熟悉的人,上传者通过使用Flash小程序来帮助我更好地控制FileOpen对话框。 我可以为文件类型指定filter,允许选择多个文件等。这很好,但它有以下记录的限制: 由于已知的Flash错误,在Windows中的Firefox中运行的上传器不会通过上传发送正确的cookie; 它不是发送Firefox cookie,而是为相应的域发送Internet Explorer的cookie。 作为解决方法,我们建议使用无cookie上传方法或将document.cookie附加到上传请求。 因此,如果用户使用的是Firefox,我就不能依赖Cookie来上传文件时保持会话。 我需要他们的会议,因为我需要知道他们是谁! 作为一种解决方法,我正在使用Application对象: Guid UploadID = Guid.NewGuid(); Application.Add(Guid.ToString(), User); 因此,我正在创建一个唯一的ID,并将其用作将Page.User对象存储在Application范围中的键。 上传文件时,我将该ID作为变量包含在POST中。 然后,在接受文件上传的处理程序中,我抓住User对象: IPrincipal User = (IPrincipal)Application[Request.Form[“uploadid”]]; 这实际上有效,但它有两个明显的缺点: 如果IIS,应用程序池,甚至只是应用程序在用户访问上载页面和实际上载文件之间重新启动,它们的“uploadid”将从应用程序范围中删除,并且上载失败,因为我无法对它们进行身份validation。 如果我扩展到Web场(可能甚至是Web园)场景,这将完全破坏。 我可能不会担心,除了我计划将来扩展这个应用程序。 有没有人有更好的方法? 有没有办法让我在POST变量中传递实际的ASP.Net会话ID,然后在另一端使用该ID来检索会话? 我知道我可以通过Session.SessionID获取会话ID,我知道如何使用YUI将其发布到下一页。 我不知道的是如何使用该SessionID从状态服务器获取会话。 是的,我正在使用状态服务器来存储会话,因此它们会持续应用程序/ IIS重新启动,并且可以在Web场方案中运行。