我需要接受模型中的字节数组并使其正确绑定。这不是用于文件,而是用于保护字符串中的敏感信息不被中断,从而永久保存在内存中。我有以下模型类。这是一个更大的模型,我不想在这篇文章中单独采取行动。
public class ParentModel
{
//a lot of properties
public SensitiveData Sensitive { get; set; }
}
public class SensitiveData
{
public byte[] Value { get; set; }
}
返回响应将是
public class ParentViewModel
{
//a lot of properties
public SensitiveDataViewModel Sensitive {get;set;}
}
public class SensitiveDataViewModel
{
public int Id { get; set; }
public string Maksed { get; set; }
public string Hash { get; set; }
}
据我所知,这可能是分段上传,但字节数组最多为32个字符,而且不是文件。如果它是一个字符串,它将被卡在内存中的明文中。我无法使应用程序获得子弹证明,但我确实希望尽快清除数据,以便我更难以获取此数据并减少它在内存中的生存时间。如果将整个请求放在一个字符串中,我无法做任何关于MVC做什么的事情。
答案 0 :(得分:0)
解决这个问题的一种方法是使用CompilationRelaxationsAttribute:
来自msdn docs(http://msdn.microsoft.com/library/system.string.intern.aspx):
.NET Framework 2.0版引入了 CompilationRelaxations.NoStringInterning枚举成员。该 NoStringInterning成员将程序集标记为不需要 string-literal interning。您可以将NoStringInterning应用于 使用CompilationRelaxationsAttribute属性进行汇编。