首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON.NET生产问题

JSON.NET生产问题
EN

Stack Overflow用户
提问于 2018-11-17 13:19:47
回答 2查看 560关注 0票数 0

我有一个ASPNET Core项目,它使用C#和Newtonsoft.JSON 11.0.2运行一组RESTful服务,这些服务是我使用NuGet合并的。当我使用Visual Studio 2017和IIS Express在本地运行所有东西时,一切运行正常,我的JSON反序列化工作也没有问题。

当我在Web Deploy包中发布解决方案,然后在AWS的Windows Server 2016实例上的IIS 10中安装该应用程序时,反序列化程序失败。错误是:

Newtonsoft.Json.JsonReaderException:分析值<时遇到意外字符。路径'',行0,位置0

无论我是在调试模式还是发布模式下发布,都无关紧要。

我运行了Postman调用,返回的JSON都是有效的,并且生成了正确的对象。我确实看到,在解决方案资源管理器中,版本是11.0.2,但在assets JSON文件中,版本指向10.0.1。在Visual Studio外部的文本编辑器中查看.CS项目文件时,会显示11.0.2。

当我查看服务器上已部署应用程序的文件夹时,我没有看到任何NewtonSoft DLL,但我确实看到了其他NuGet获得的DLL。考虑到JSON.NET的部署方式,这可能不是问题,但我认为值得一提的是。

然后,我包含了一个记录器,并将传入的JSON发送到一个文件中,并且再次按照预期对其进行了验证。

我已经尝试了所有方法,确保CORS在应用程序和IIS中都得到了正确实现。我完全不知道如何继续下去。

有人能帮帮忙吗?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2019-06-14 03:24:25

代码语言:javascript
复制
<system.webServer>
    <handlers>
        <remove name="WebDAV" />
        <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
        <remove name="OPTIONSVerbHandler" />
        <remove name="TRACEVerbHandler" />
        <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
    <modules>
        <remove name="WebDAVModule" />
    </modules>
</system.webServer>
票数 0
EN

Stack Overflow用户

发布于 2022-01-23 19:25:51

我有时会浏览没有/接受答案的旧问题,检查他们是否仍然需要帮助,或者是否可以做些什么来结束悬案。

这篇文章已经解决了,但是原因和解决方案只在评论中留下了。

如果解析时遇到的第一个字符是<,则可以确定这不是

。可能有什么东西正在将XML或HTML发送到已部署环境中的代码。我会从这个角度看。这对我来说不像是版本冲突,否则你会得到一个关于无法加载文件或程序集的非常不同的错误。我认为这仅仅是一个数据问题。Brian Rogers @Brian Rogers -非常感谢你的最后一条评论。我最终在我的开发机器上打开了产品,然后运行Wireshark来查看通信。原来IIS在主机网站的允许方法web.config中有"GEWT“而不是"GET”,而我在云中得到了拒绝,而不是JSON。我运行的每个生成输出的测试都是LocalHost的,但是,当然,实际的生产工作没有使用任何本地的东西。一旦我修复了这个错误,一切都运行得很好!肯·托拉

@ken-tola,请您自行回答问题,然后接受它以结束案例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53348479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档