Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Post Xamarin-C#-HttpClient_Post_Xamarin_Dotnet Httpclient - Fatal编程技术网

Post Xamarin-C#-HttpClient

Post Xamarin-C#-HttpClient,post,xamarin,dotnet-httpclient,Post,Xamarin,Dotnet Httpclient,我有一个关于httpclient的问题,我有一个node.js rest api,我正试图将用户信息发布(发送)到服务,以便插入数据库。这项服务还可以,我用人工和邮递员进行了测试 但是我使用vs2017 xamarin并使用httpclient来消费信息 我将用户对象转换为json格式 var json=JsonConvert.serialized对象(用户) 结果:{“用户名”:“用户”,“电子邮件”:user@hot.com“,“psw”:“开玩笑”} 然后创建一个内容字符串类型并传递jso

我有一个关于httpclient的问题,我有一个node.js rest api,我正试图将用户信息发布(发送)到服务,以便插入数据库。这项服务还可以,我用人工和邮递员进行了测试

但是我使用vs2017 xamarin并使用httpclient来消费信息

我将用户对象转换为json格式

var json=JsonConvert.serialized对象(用户)

结果:{“用户名”:“用户”,“电子邮件”:user@hot.com“,“psw”:“开玩笑”}

然后创建一个内容字符串类型并传递json:

var content=newstringcontent(json,Encoding.UTF8,“application/json”)

然后我创建客户机

var-client=new-HttpClient()

我测试了以下两个代码

如果我使用这段代码,服务工作,数据插入数据库,但我认为这是因为我喜欢手动传递参数

httpresponsemessageresponse=wait client.PostAsync(“http://localhost/ws/postUser/“+e.userName+”/“+e.email+”/“+e.psw,内容)

但我所期望的是,这段代码可以工作,但在服务器上,我得到的错误是找不到url。我想我需要将参数映射到内容

httpresponsemessageresponse=wait client.PostAsync(“http://localhost/ws/postUser/“,内容)

服务的URL为

这是完整的代码: 我有一个OnSignUpEventArgs类,它继承自EventArgs,并在其中声明用户对象

 private async void SigUpDialog_mOnSigUpComplete(object sender, OnSignUpEventArgs e)
    {




       var json = JsonConvert.SerializeObject(e);
        var content = new StringContent(json, Encoding.UTF8, "application/json");

        var client = new HttpClient();
       HttpResponseMessage response = await client.PostAsync("http://localhost/ws/postGasUser/"+ e.userName + "/" + e.email + "/" + e.psw, content);

      //  HttpResponseMessage response = await client.PostAsync("http://localhost/ws/postGasUser/", content);


        if (response.IsSuccessStatusCode)
        {
            Console.Write("Success");

        }
        else
        {
            Console.Write("Error");

        }




    }

不要使用localhost。指的是移动设备(或模拟器),它不是运行服务的地方。请改用IP或FQDN。尝试使用服务器IP地址可能我不理解,但您是说服务的URL是
http://localhost/ws/postUser/:userName/:email/:psw
并发布到
http://localhost/ws/postUser/
返回404?对我来说似乎是正确的-它不是服务的URL!感谢它与IP地址一起工作不要使用本地主机。指的是移动设备(或模拟器),它不是运行服务的地方。请改用IP或FQDN。尝试使用服务器IP地址可能我不理解,但您是说服务的URL是
http://localhost/ws/postUser/:userName/:email/:psw
并发布到
http://localhost/ws/postUser/
返回404?对我来说似乎是正确的-它不是服务的URL!谢谢,它与IP地址一起工作