Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.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# 某些参数未使用postman过帐到操作方法_C#_Asp.net Mvc_Http Post - Fatal编程技术网

C# 某些参数未使用postman过帐到操作方法

C# 某些参数未使用postman过帐到操作方法,c#,asp.net-mvc,http-post,C#,Asp.net Mvc,Http Post,我正在使用MVC和.NET4.7来创建一个RESTAPI,我可以用它来发布一些数据。现在,作为测试,我将向一个名为“AddImage”的方法发布四个字符串参数,该方法应该接收这些参数。当我使用postman测试post时,我只得到了方法中的两个参数,而另外两个根本不存在 原始示例: 例如,我将发布 { “图像文件”:“asdf”, “文件名”:“aswd”, “站点ID”:“asdf”, “isCreateThumbnail”:“false” } 但是,当我在MVC中调试该方法时,唯一具有任何值

我正在使用MVC和.NET4.7来创建一个RESTAPI,我可以用它来发布一些数据。现在,作为测试,我将向一个名为“AddImage”的方法发布四个字符串参数,该方法应该接收这些参数。当我使用postman测试post时,我只得到了方法中的两个参数,而另外两个根本不存在

原始示例: 例如,我将发布

{ “图像文件”:“asdf”, “文件名”:“aswd”, “站点ID”:“asdf”, “isCreateThumbnail”:“false” }

但是,当我在MVC中调试该方法时,唯一具有任何值的参数是“filename”和“iscreate缩略图”

我尝试将所有参数作为对象的一部分添加并传递,但可能我也做错了:

//Code from project
public struct imagedetails
    {
        public string imagefile;
        public string filename;
        public string siteid;
        public string isCreateThumbnail;
    }
    [HttpPost]
    public ActionResult AddImage(imagedetails image)
    {
        logEvent(6, "API_AddImage", string.Format("Params: filename:{0}, siteid:{1}, isCreateThumbnail:{2}", image.filename, image.siteid, image.isCreateThumbnail), "", 1);
        return View();
    }
我从邮递员那里发了这样的东西:

{“图像”:{ “图像文件”:“asdf”, “文件名”:“aswd”, “站点ID”:“asdf”, “isCreateThumbnail”:“false” }
}

好的,首先我强烈建议您将这些字符串参数放入模型中,这样您的代码从现在起将更加干净,更易于编写(例如,将参数传递给处理这些参数的类)。事实上,这甚至可以一直解决你的问题


至于单独的参数,我只能猜测默认值可能会把事情搞砸。删除参数并尝试一个一个地添加它们,这样您就可以确定错误所在。

好的,首先我强烈建议您将这些字符串参数放入一个模型中,这样您的代码从现在开始将更干净、更易于编写(例如,将参数传递给处理这些参数的类)。事实上,这甚至可以一直解决你的问题


至于单独的参数,我只能猜测默认值可能会把事情搞砸。删除参数并尝试逐个添加,这样您就可以确定问题出在哪里。

感谢您尝试帮助我解决代码中的问题。最后我重新启动了电脑,查看web.config并找到了一个修复程序。我改变了两件事,在web.config中,我注意到标记“system.web”是用两个不同的.net框架设置的:

<system.web>
    <compilation debug="true" targetFramework="4.7.1"/>
    <httpRuntime targetFramework="4.6.1"/>
  </system.web>


我更改的第二件事是将正在运行的配置更新为“Debug”。我不知道为什么它被设置为“Release”,但可能是我无意中这样做了。

谢谢您尝试帮助我解决代码的问题。最后我重新启动了电脑,查看web.config并找到了一个修复程序。我改变了两件事,在web.config中,我注意到标记“system.web”是用两个不同的.net框架设置的:

<system.web>
    <compilation debug="true" targetFramework="4.7.1"/>
    <httpRuntime targetFramework="4.6.1"/>
  </system.web>


我更改的第二件事是将正在运行的配置更新为“Debug”。我不知道为什么设置为“Release”,但可能是我无意中这样做了。

请在PostMant中发布您的请求的屏幕截图感谢您的回复。我添加了一个图像链接。我的代表还不允许我完全添加图像。在正文中为您添加图像只是一个猜测,但您不应该将条目作为字符串传递,而不是作为对象的一部分传递吗?相反,您可以将参数包装到c#端的对象中。这听起来可能很愚蠢,但我如何将参数作为字符串传递?请在PostMant中发布您请求的屏幕截图感谢您的响应。我添加了一个图像链接。我的代表还不允许我完全添加图像。在正文中为您添加图像只是一个猜测,但您不应该将条目作为字符串传递,而不是作为对象的一部分传递吗?相反,你可以在c端将参数包装成一个对象。这听起来可能很愚蠢,但我如何将参数作为字符串传递呢?我正在更新帖子。我刚试着把参数放入一个模型中,但我不相信我是从邮递员那里正确测试的。你发布的数据看起来很好。起初我以为肠衣可能会脱落,但没问题。我正在更新帖子。我刚试着把参数放入一个模型中,但我不相信我是从邮递员那里正确测试的。你发布的数据看起来很好。起初我以为外壳可能会脱落,但这些都很好。