猿问

使用带有 webjobs SDK 和 Azure 队列的 JSON 对象

只是构建一个示例应用程序来尝试解决问题。


我有一个名为 messageClass 的类:


namespace WebJobsSDKSample

{

    public class messageClass

    {

        string name { get; set; }

        string path { get; set; }

    }

}

和一个功能:


namespace WebJobsSDKSample

{

    public class Functions

    {


        public static void ProcessQueueMessage([QueueTrigger("queue")] string message)

        {


            messageClass mess = JsonConvert.DeserializeObject<messageClass>(message);


        }

    }

}

该程序设置如下:


namespace WebJobSDK

{

    class Program

    {

        static void Main(string[] args)

        {

            var config = new JobHostConfiguration();


                config.UseDevelopmentSettings();

            if (config.IsDevelopment)

            {

            }


            config.DashboardConnectionString = "";


            var loggerFactory = new LoggerFactory();


            config.LoggerFactory = loggerFactory

                .AddConsole();


            var host = new JobHost(config);


            host.RunAndBlock();


        }

    }

}

现在,当我运行它时,它可以工作,如果我将消息放入队列,它就会被接收。但它不被视为 JSON 对象。如果我把它作为消息输入:


{"path": "path here","name": "name here"}


那么路径和名称的字段都为空。这是函数中调试器中显示的字符串消息: "{\"path\": \"path here\",\"name\": \"name here\"}"


我也尝试将消息设置为 messageClass 或 Object 的类型,而不是字符串。


使用 Newtonsoft.Json;


catspeake
浏览 120回答 1
1回答
随时随地看视频慕课网APP
我要回答