Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.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
C# Jira对C的反应#_C#_Rest_Jira - Fatal编程技术网

C# Jira对C的反应#

C# Jira对C的反应#,c#,rest,jira,C#,Rest,Jira,我已经搜索并研究如何获得Jira REST响应已经有相当一段时间了。问题是,当它到达此代码时,将引发异常,要么是错误的请求,要么是内部服务器错误 HttpWebResponse response = request.GetResponse() as HttpWebResponse; 它永远不会超出这个代码。相反,我期望: } "errorMessages": [], "errors": { "message": "An error occured ... " } } 有关错误

我已经搜索并研究如何获得Jira REST响应已经有相当一段时间了。问题是,当它到达此代码时,将引发异常,要么是错误的请求,要么是内部服务器错误

HttpWebResponse response = request.GetResponse() as HttpWebResponse;
它永远不会超出这个代码。相反,我期望:

}
  "errorMessages": [],
  "errors": {
  "message": "An error occured ... "
  }
}
有关错误消息或:

}
  "id": "11600",
  "key": "RP-547",
  "self": "http://jira.com/rest/api/2/issue/11600"
}
关于成功

有什么东西我错过了,或者误解了吗?我如何获得预期的结果

一些额外信息:

HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.ContentType = "application/json";
request.Accept = "application/json";
request.Method = method; //POST
if (data != null)
{
    using (StreamWriter writer = new StreamWriter(request.GetRequestStream()))
    {
        writer.Write(data);
    }
}
string base64Credentials = GetEncodedCredentials();
request.Headers.Add("Authorization", "Basic " + base64Credentials);
string result = string.Empty;
HttpWebResponse response = request.GetResponse() as HttpWebResponse; //breaks here
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
    result = reader.ReadToEnd();
}

HttpWebRequest为非200 http响应生成异常。 您需要在catch子句中处理错误响应

从:

注 如果引发WebException,请使用异常的响应和状态属性来确定服务器的响应

另见

如果您使用的是.Net 4.5,您也可以使用HttpClient而不是WebRequest。

当您说“它永远不会超出此代码”时,我以为您的意思是您的程序挂起,这就是我遇到的问题。你应该关上作家的门。看见即使这些信息与原始问题不完全相关,我也将这些信息放在这里,因为这个问题与jirarestapi的使用有关。不幸的是,这个处理httpresponse的例子似乎在网络上到处传播。