Joh*_*ams 7 c# dictionary xml-serialization asmx
当我尝试"添加Web引用"到我的ASMX代理项目时收到此错误消息:
**"To be XML serializable, types which inherit from ICollection must have an implementation of Add(System.String) at all levels of their inheritance hierarchy. System.Collections.Specialized.NameValueCollection does not implement Add(System.String)"**
Run Code Online (Sandbox Code Playgroud)
我需要将名称 - 值对传递给我的Web服务,这就是我想出的:
public class FileService : System.Web.Services.WebService
{
[WebMethod]
public string UploadFile(byte[] incomingArray
, string FileName
, long FileLengthInBytes
, NameValueCollection nvcMetaData)
Run Code Online (Sandbox Code Playgroud)
我现在意识到我需要帮助改变这一点(我是C#的新手和.Net框架的这一部分).如果我能使这个工作,我的Web服务将需要由ColdFusion调用(现在我使用.aspx页面来调用Web服务).因此,无论我想出什么方式来传递可变数量的NAME-VALUE对,我都需要它可以由CF调用.提前致谢.
作为替代方案,您可以只定义一个简单的NameValue类并接收一个数组.
public class NameValue
{
public string Name{get;set;}
public string Value{get;set;}
}
[WebMethod]
public string UploadFile(byte[] incomingArray
, string FileName
, long FileLengthInBytes
, NameValue[] nvcMetaData)
Run Code Online (Sandbox Code Playgroud)
如果在客户端有一个NameValueCollection,您可以轻松映射到您的类型.检查我在此问题中发布的示例
| 归档时间: |
|
| 查看次数: |
8993 次 |
| 最近记录: |