Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.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# 当我获得Azure功能时,我会收到500个状态代码_C#_Azure_Http_Azure Functions_Nreco - Fatal编程技术网

C# 当我获得Azure功能时,我会收到500个状态代码

C# 当我获得Azure功能时,我会收到500个状态代码,c#,azure,http,azure-functions,nreco,C#,Azure,Http,Azure Functions,Nreco,我试图向使用NReco HtmlToImageConverter的Azure函数(v1)发出Get请求,但由于某些原因,我得到了500状态代码,其中包含以下消息 没有MediaTypeFormatter可用于从媒体类型为“application/octet stream”的内容中读取类型为“object”的对象 编辑:我认为问题不在于所描述的内容 我将空函数V1发布到Azure,但它不起作用 [FunctionName("Function1")] public static async

我试图向使用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);
    }
[FunctionName(“Function1”)]
公共静态异步任务运行([HttpTrigger(AuthorizationLevel.Anonymous,“get”,“post”,Route=null)]HttpRequestMessage请求,TraceWriter日志)
{
Info(“C#HTTP触发器函数处理了一个请求。”);
//解析查询参数
字符串名称=req.GetQueryNameValuePairs()
.FirstOrDefault(q=>string.Compare(q.Key,“name”,true)==0)
价值
//获取请求主体
动态数据=wait req.Content.ReadAsAsync();
//将名称设置为查询字符串或正文数据
名称=名称??数据?.name;
返回名称==null
?req.CreateResponse(HttpStatusCode.BadRequest,“请在查询字符串或请求正文中传递名称”)
:req.CreateResponse(HttpStatusCode.OK,“Hello”+名称);
}
我不知道它是否相关,但当我发布时,我会看到下面的对话框(我目前回答为否)


在HTTP请求中,您需要将内容类型设置为:

contentType:'application/json;字符集=utf-8'

Azure主机上函数的版本与本地版本不匹配

本地的函数运行时似乎是v1,但门户上的函数可能是“beta”,所以它们的版本不匹配

因此,您可以在门户上创建一个新的Azure函数,其默认运行时版本为“~1”。请在函数应用程序设置中检查门户上的运行时,如下所示:


然后将您的本地函数发布到Azure,它将正常工作

很明显,您看到的弹出窗口的可能副本仍然是。这里还提到了一个解决方案。关于你遇到的异常,我真的帮不了你。