Asp.net:代表(“Action”)可以序列化为控制状态吗?
发布时间:2020-12-16 06:56:46 所属栏目:asp.Net 来源:网络整理
导读:我正在实现一个用户控件,该控件具有一个将Action委托作为parm的方法. 尝试将委托存储在“控制状态”中会产生序列化错误.甚至可以将委托序列化为控制状态吗? BP 解决方法 不容易 – 它可能为潜在问题打开大门. 理论上可以使用反射来确定委托调用的对象的哪个
我正在实现一个用户控件,该控件具有一个将Action委托作为parm的方法.
尝试将委托存储在“控制状态”中会产生序列化错误.甚至可以将委托序列化为控制状态吗? BP 解决方法
不容易 – 它可能为潜在问题打开大门.
理论上可以使用反射来确定委托调用的对象的哪个方法,并为其编写自定义序列化过程.在反序列化时,您将再次需要编写逻辑以将信息转换为委托引用. 问题是,在一般情况下,在运行时发现需要重新生成委托的对象并不总是可行的.如果委托引用lambda或匿名方法,则会使事情变得更复杂,因为它们可能涉及到闭包. 你可能会更好: >不保留请求之间的Action委托,并使ASP.NET代码在回发时重新附加委托.这是IMHO风险最小的选择. a)如果最终用户从不回发,或者您忘记从服务器状态清除对象,则在内存中无限期地保持对象引用. b)如果委托引用页面元素(控件等),则可以运行因为委托将对前一个请求中的对象进行操作,而不是新请求. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET Core Mvc中空返回值的处理方式
- .net – 为MembershipProvider添加额外的属性
- ASP.NET Core 使用Swagger
- asp.net – 向GridView Row添加ID
- asp.net – 部署后强制刷新网站
- 在Asp.NET中黑客会话变量
- asp.net – 为什么context.Request.Context.Authentication
- asp.net-mvc – UpdateModel和TryUpdateModel
- asp.net-mvc – 使用ASP.NET MVC2中的DataAnnotations显示友
- asp.net-mvc – 从MVC版本1迁移后,ASP.NET MVC 2 actionlin
推荐文章
站长推荐
- asp.net – 构建我的第一个ASP应用程序
- 如何配置IIS 7以使用子目录作为默认文档?
- asp.net-mvc – MVC 5 Owin Facebook Auth导致空
- asp.net – 如何决定在viewstate中存储什么?
- asp.net – 如何维护具有大量分支的SQL Server D
- asp.net – IIS 7.5上的ReportViewer 10.0无法呈
- asp.net – 如何将其他页面包含到aspx文件中
- 运行SonarQube针对ASP.Net核心解决方案/项目
- asp.net-mvc – 在默认路由的ASP.NET MVC中的Url
- asp.net-mvc – asp.net mvc url action忽略旧参
热点阅读