type,在给定的上下文中无效

时间:2015-03-20 19:00:44

标签: c# mysql

'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);

0 个答案:

没有答案