'DinnorApp.DinnorAppWeb2.addUsuarioConImagenDesktopRequest' is a 'type', which is not valid in the given context
我遇到了这种错误的问题,我的代码在这里
public int addUsuario(string nombreCompleto, string usuario, string correo, string contraseña, string palabraClave, byte[] imagen)
{
users = new Usuario();
DinnorAppWeb2.Usuario usuario3 = new DinnorAppWeb2.Usuario();
soap = new DinnorAppWeb2.WebService1SoapClient();
usuario3 = soap.addUsuarioConImagenDesktop(DinnorAppWeb2.addUsuarioConImagenDesktopRequest(nombreCompleto, usuario, correo, contraseña, palabraClave, imagen));
users.nombreCompleto = usuario3.nombreCompleto;
users.usuario = usuario3.usuario;
if (users.nombreCompleto != null && users.usuario != null)
{
return 1;
}
return 0;
}
上面的代码是winform,我使用webservice
的信息参考文件是
// CODEGEN: Parameter 'imagen' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlElementAttribute'.
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/addUsuarioConImagen", ReplyAction="*")]
[System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
DinnorApp.DinnorAppWeb2.addUsuarioConImagenResponse addUsuarioConImagen(DinnorApp.DinnorAppWeb2.addUsuarioConImagenRequest request);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/addUsuarioConImagen", ReplyAction="*")]
System.Threading.Tasks.Task<DinnorApp.DinnorAppWeb2.addUsuarioConImagenResponse> addUsuarioConImagenAsync(DinnorApp.DinnorAppWeb2.addUsuarioConImagenRequest request);
上面的代码是当我调用服务引用(webservice)
时 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/addUsuario", ReplyAction="*")]
[System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
int addUsuario(string nombreCompleto, string usuario, string correo, string contraseña, string palabraClave);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/addUsuario", ReplyAction="*")]
System.Threading.Tasks.Task<int> addUsuarioAsync(string nombreCompleto, string usuario, string correo, string contraseña, string palabraClave);
上面的代码,我可以轻松调用带参数的方法,但错误 我认为问题是byte [],但我不知道为什么,因为如果我在参数中将byte []更改为string或int或类似,那就像rest一样正常。
byte []用于在mysql上保存或添加图像。那我怎么解决呢? 我希望有人可以提供帮助。
抱歉我的英文。
你会意识到有些词是西班牙语。
修改
我解决了,这是正确的代码:
DinnorAppWeb2.addUsuarioConImagenDesktopRequest add2 = new DinnorAppWeb2.addUsuarioConImagenDesktopRequest(nombreCompleto,usuario,correo,contraseña,palabraClave,imagen);
soap.addUsuarioConImagenDesktop(add2);