[英]In HttpStatusCode I get a status 500 again when I change it to 401
[英]I receive 500 status code when I GET an Azure Function
我试图向使用NReco HtmlToImageConverter的Azure函数(v1)发出Get请求,但是由于某些原因,我收到了500状态代码以及以下消息
没有MediaTypeFormatter可用于从媒体类型为“ application / octet-stream”的内容中读取“ Object”类型的对象。
编辑:我不认为问题是这里描述的
我将字面空的函数V1发布到Azure,但是它不起作用。
[FunctionName("Function1")]
public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]HttpRequestMessage req, TraceWriter log)
{
log.Info("C# HTTP trigger function processed a request.");
// parse query parameter
string name = req.GetQueryNameValuePairs()
.FirstOrDefault(q => string.Compare(q.Key, "name", true) == 0)
.Value;
// Get request body
dynamic data = await req.Content.ReadAsAsync<object>();
// Set name to query string or body data
name = name ?? data?.name;
return name == null
? req.CreateResponse(HttpStatusCode.BadRequest, "Please pass a name on the query string or in the request body")
: req.CreateResponse(HttpStatusCode.OK, "Hello " + name);
}
我不知道它是否相关,但是当我发布时,出现以下对话框(我目前对此回答是“否”)
在HTTP请求中,您需要将Content-Type设置为:
contentType: 'application/json; charset=utf-8'
contentType: 'application/json; charset=utf-8'
。
Azure主机上的“功能”版本与本地版本不匹配。
本地的函数运行时似乎是v1,但Portal上的函数可能是“ beta”,因此它们的版本不匹配。
因此,您可以在门户网站上创建一个新的Azure Function,其默认运行时版本为“〜1”。请在门户网站的Function应用程序设置中检查运行时,如下所示:
然后将您的本地功能发布到Azure,它将正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.