在流中的会话中存储值 MVC
我是新的 MVC, 如此原谅我,如果我错过了什么。
在我的一个控制器中,我启动了一个执行一些处理的类并显示这样的字符串:
虽然一切顺利,输出 sCarmodel 它恰好存储在会话中,您可以在演示文稿中访问它们。 但是,我需要将一个类放在一个单独的流中,因为它完成了一些时间,我想返回视图 aschyncronosly. 所以我试过了:
我知道我可以存储一个值 "sCarmodel" 在来自课程的数据库中,但我正在寻找一种跳过数据库的方法。 使用流,值 sCarmodel 未保存在会话中,会话变为
后来,当我试着得到它。
任何人都可以提供关于如何在流中获取类别的值的任何建议?
谢!
Edit:
由于所有的建议,因此解决了问题。
在我的一个控制器中,我启动了一个执行一些处理的类并显示这样的字符串:
[HttpPost]
public ActionResult Check/string reg/
{
string sCarmodel;
GetRegInfo gri = new GetRegInfo/reg, out sCarmodel/;
Session["test"] = sCarmodel;
return View/"Check"/;
}
虽然一切顺利,输出 sCarmodel 它恰好存储在会话中,您可以在演示文稿中访问它们。 但是,我需要将一个类放在一个单独的流中,因为它完成了一些时间,我想返回视图 aschyncronosly. 所以我试过了:
[HttpPost]
public ActionResult Check/string reg/
{
var getreginfoThread = new Thread/
// =>
{
string sCarmodel;
GetRegInfo gri = new GetRegInfo/reg, out sCarmodel/;
Session["test"] = sCarmodel;
}
/;
getreginfoThread.Start//;
return View/"Check"/;
}
我知道我可以存储一个值 "sCarmodel" 在来自课程的数据库中,但我正在寻找一种跳过数据库的方法。 使用流,值 sCarmodel 未保存在会话中,会话变为
null
后来,当我试着得到它。
任何人都可以提供关于如何在流中获取类别的值的任何建议?
谢!
Edit:
由于所有的建议,因此解决了问题。
没有找到相关结果
已邀请:
7 个回复
奔跑吧少年
赞同来自:
发送链接到此用户对象背景。
设置背景流中的用户对象的属性。
确保您进行任何需要的同步。
风见雨下
赞同来自:
http://info.titodotnet.com/201 ... .html
.
顺便问一下,你为什么不使用
http://msdn.microsoft.com/en-u ... .aspx
?
三叔
赞同来自:
我建议你回来 sCarmodel 从你的流中 async/await 并将其安装到主流中的会话中。
涵秋
赞同来自:
你从未描述过真正的问题 /很遗憾/, 因此,我真的不知道你试图解决的是什么,但在任何情况下手动推出新的流并在任何情况下将数据进入会话不是解决方案。
如果您想异步执行以允许Web服务器为其他客户提供服务,请在后台提供某些内容,然后您可以查看异步控制器:
http://www.asp.net/mvc/tutoria ... mvc-4
再次,了解你想要实现正确的决定是非常有帮助的。
郭文康
赞同来自:
后来我使用计时器 JavaScript 从 Ajax 并获得这样的价值:
</object>
二哥
赞同来自:
错误的。 太棒了
错误的
解决这个问题的方法。 在申请中 ASP.NET 如果您在持续存储中保存此工作仍然需要执行此操作,您应该永远不会返回。
在记忆中保存工作 /即用流或任务/ 这是一个不正确的决定。
正确的决策永久存储库 /例如,队列 Azure, MSMQ 或者 WebSphere MQ/ 要存储工作,然后具有单独的服务,可读取此队列执行适当的操作并将结果存储在另一个常数数据结构中。 然后你可以要求客户投票 /例如, HTTP 要求/ 数据结构 "result" 和/或通知客户 /例如, SignalR/ 关于保存结果。
我详细讲述了
http://blog.stephencleary.com/ ... .html
, 并且还给出了一个可以在那里使用的示例代码
绝对地
我们有信心你想去一个不安全的路线。
江南孤鹜
赞同来自:
Session["test"]
, 他尚未由您的溪流指定。
您必须以某种方式重新组织您的代码。 此外,不建议在应用程序中运行线程 asp.net, 因为它非常灵巧。
EDIT
似乎它真的没有安装会话变量。 如果你真的想以这种方式这样做,你可以使用
为了这:
你将不知何故等到这个数据是 null, 然后得到它们
Session["test"]