代码之家  ›  专栏  ›  技术社区  ›  Sean Forman

ASP。NET Core仅在服务器上返回任务的序列化

  •  -1
  • Sean Forman  · 技术社区  · 3 年前

    我有一些ASP。NET核心代码,在我的机器上运行良好,但在服务器上运行时返回意外结果

        [HttpPost("DoSomething")]
        public async Task<IActionResult> DoSomething(MyObject myObject) 
        {
                
            var updatedObject = await SomeAsyncTask(myObject);
            return Ok(updatedObject);
        }
    
        public async Task<MyObject> SomeAsyncTask(MyObject myObject)
        {
            var req = new HttpRequestMessage(HttpMethod.Post, "url");
    
            var response = await SendRequest<ApiResponse>(req, myObject);
    
            return myObject;
        }
    

    在我的机器上,响应总是myObject的JSON,

    //myObjectJson
    {
        "property1":"some value",
        "property2":"some value"
    }
    

    然而,在azure中运行windows最新版本的服务器上,我将myObject包装在执行工作的任务的序列化中。

    {
       "Result":{
          //myObjectJson
          "{
              "property1":"some value",
              "property2":"some value"
          }"
       },
       "Id":20,
       "Exception":null,
       "Status":5,
       "IsCanceled":false,
       "IsCompleted":true,
       "IsCompletedSuccessfully":true,
       "CreationOptions":0,
       "AsyncState":null,
       "IsFaulted":false
    }
    

    差异的原因是什么?我如何确保一致的回报?

    0 回复  |  直到 3 年前