从asp.net调用Web.Api Post调用C#applicaiton

时间:2017-04-18 15:46:45

标签: c# asp.net-web-api

所以我对使用Web.Api电话非常陌生,过去几天一直在阅读它们。简而言之,我有一个C#asp.net应用程序需要将记录发布到Web.Api调用,另一个组已设置为各种应用程序发送记录到我需要与之交互。现在我有一些尝试工作,但我得到错误500:内部服务器错误'当我运行的时候。我承认它可能会结束,但我想确保我的结局也是正确的。

所以这就是我所拥有的。首先,我有一个我填写的课程并发送到wab.api电话,因为这就是它所要求的

public class PackageData
{
    public string HostName { get; set; }
    public string SerialNumber { get; set; }
    public int SourceID { get; set; }
    public string PackageName { get; set; }
    public string UserName { get; set; }
    public string BatchID { get; set; }
    public DateTime ReceivedTime { get; set; }

}

这是我实际调用的函数。现在出于测试目的,我填充了一个通用的' PackageData'我将最终以编程方式填充的对象

    public string Test_Update()
    {

        HttpClient client = new HttpClient();
        client.BaseAddress = new Uri("http://ServerName/Updates/");  
        client.DefaultRequestHeaders.Accept.Clear();  
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

        PackageData InstallPackage = new PackageData();
        InstallPackage.HostName = "ComputerName";
        InstallPackage.SerialNumber = "SerialNumber";
        InstallPackage.PackageName = "PackageName.EXE";
        InstallPackage.SourceID = 1;
        InstallPackage.UserName = "User";
        InstallPackage.BatchID = 1;
        InstallPackage.ReceivedTime = DateTime.Now;

        HttpResponseMessage response = client.PostAsJsonAsync("api/Package?UserName=UserID&Password=password", InstallPackage).Result;

        response.EnsureSuccessStatusCode();

        return response.Headers.Location.ToString();
    }

有什么明显的东西看起来不对任何人?

感谢您的帮助!

0 个答案:

没有答案