代码写好了,各方面的准备工作都做好啦,在程序中调用已经成功了,但是在部署程序集的时候,却出现了这个问题。
问题:
看到这个问题,我第一想到的就是我的sql语句,又是参数又是索引的,经过我的反复检查,没有问题, 然后我觉得是触发器、存储过程等的参数传的不对,但是也是不对。
解决方法:
我们在写代码调用web service的时候,会生成俩个dll文件,其中一个是主文件,也就是你的主要的逻辑处理过程,另一个是对你主要逻辑的dll的序列化文件。如下所示:
我们看到第二个是.XmlSerializers.dll,他是干什么的呢?
Sgen.exe是Xml序列化程序生成器工具,他会为指定程序集中的类型创建一个xml序列化程序集,以改进xmlserializer在序列化和反序列化指定类型的对象的启动性能。他还可以改进Xml web services代理与服务器通信的客户端的性能
当我们不使用xml序列化生成器时,xmlserializer在应用程序每次运行的时候,会为每一个类型生成序列化代码和一个序列化程序集。
在我部署主要逻辑的dll的时候,里面有代码是需要调用利用关键字client调用接口的,这时候就需要将这个.xmlserializer.dll也添加到sql server的程序集中,这样在执行这句话的时候,就会出现程序集调用程序集。
说到这里,大家肯定想到了json了,都是序列化反序列化。