【发布时间】:2018-10-21 12:34:53
【问题描述】:
您好,我的网络服务中有一个方法如下
[HttpGet]
public HttpResponseMessage RegenerateReport(/*string reportObject*/)
{
var result = new HttpResponseMessage(HttpStatusCode.OK);
result.Content = new StringContent("Operation completed.");
return result;
}
它工作正常,但我实际上希望能够将一个序列化的 JSON 对象发送到这个函数。
或者,我尝试在此函数上使用 [HttpPost] 标签并从我的代码中调用如下
var data = Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(obj));
string _BaseUrl = ConfigurationManager.AppSettings["WebAPIBaseURL"];
HttpWebRequest request = WebRequest.Create(string.Format("{0}{1}",
_BaseUrl,
"test/RegenerateReport?FileName=" + RCFileName)) as HttpWebRequest;
// Set type to POST
request.Method = "Post";
request.ContentType = "application/xml";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
返回
请求的资源不支持 http 方法 'GET'。
更新 由于我已将标签 [HttpGet] 和 [HttpPost] 添加到我的 web 方法中,因此现在已删除此错误。现在的问题是如何将序列化对象传递给 Web 服务方法。谢谢!
【问题讨论】:
-
你用的是web api还是什么技术?
-
webapi 服务 .net 4.6
标签: c# asp.net web-services asp.net-web-api httpwebrequest