当前位置:  开发笔记 > 编程语言 > 正文

似乎没有调用ASP.NET Javascript Converter

如何解决《似乎没有调用ASP.NETJavascriptConverter》经验,为你挑选了0个好方法。

我有一个使用自定义JavaScriptConverter的ASP.NET 3.5 SP1 Web应用程序.代码过去曾在某个时间工作,但已停止工作.我不知道中间服务器端发生了什么变化.我们现在看到的问题是没有调用转换器,因此我们收到System.Data.DataRow无法序列化的错误.

以下是web.config的相关部分:


    
        
            
                
                    
                    
                    
                
            
        
    

该类的修剪版本如下(仅修剪以避免在不必要的实现上浪费空间):

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Data;
using System.Web.Script.Serialization;

namespace WebUI {
    public class DataRowConverter : JavaScriptConverter {
        private ReadOnlyCollection _supportedTypes = new ReadOnlyCollection(new Type[] { typeof(DataRow) });

        public override object Deserialize(IDictionary dictionary, Type type, JavaScriptSerializer serializer) {
            // stuff
            return dr;
        }

        public override IDictionary Serialize(object obj, JavaScriptSerializer serializer) {
            // stuff
            return dictionary;
        }

        public override IEnumerable SupportedTypes {
            get {
                return this._supportedTypes;
            }
        }
    }
}

似乎发生的是该类确实被加载(如果我们从web.config和项目引用中取出它,没有可用的断点;将它放回到web.config并手动复制DLL/PDB或添加它到项目,断点是可用的),但它没有被使用属性.在类中的任何地方都没有命中断点,并且不会抛出任何异常(包括在构造函数中抛出的异常以查看发生的情况).好像这个类正在加载但从未调用过.

如果重要的话,这是在集成模式下的IIS 7.5和IIS 7.0上.

有人有主意吗?

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有