我有一个情况,我有10以上的记录在数据库中。当用户使用某些选定的记录在MVC中使用我的操作方法时,我希望通过获取所有记录并将它们与用户传递的记录进行比较来检查这些记录是否存在于数据库中。
然后,我想将所有这些记录传递给另一个函数。在函数参数中传递这么多记录安全吗??
这里有一个演示:-
//Action Method
[HttpGet]
Public ActionResult SaveRecords(List<int> selectedRecords)
{
List<int> allRecordsFromDB = _db.GetAllRecords();
if(allRecordsFromDB.Contains(selectedRecords))
{
_Process(allRecordsFromDB); //here I am passing more than 10 lac devices to a function as parameter
}
}
Private void _Process(List<int> allRecords)
{
//Do some process here
}谢谢:)
发布于 2015-03-17 05:44:53
是的,,它是安全的。
正如菲尔说的,“因为它是一个列表,所以你只是传递一个对项目列表的引用,而不是实际项目本身。”
另一种解决方案是,您可以将所有记录放在会话或缓存中(根据用例),并且可以访问..no需要作为参数传递记录的任何地方。
发布于 2015-03-17 05:29:01
是。因为它是一个列表,所以您只是传递对项目列表的引用,而不是对实际项目本身的引用。
https://stackoverflow.com/questions/29091849
复制相似问题