栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

asp.net asmx Web服务返回xml而不是json

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

asp.net asmx Web服务返回xml而不是json

终于想通了。

应用代码正确无误,已发布。问题出在配置上。正确的web.config是:

<configuration>    <system.web>        <compilation debug="true" targetframework="4.0" />    </system.web>    <system.webServer>        <handlers> <add name="scriptHandlerFactory"      verb="*" path="*.asmx"      type="System.Web.script.Services.scriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"      resourceType="Unspecified" />        </handlers>    </system.webServer></configuration>

根据文档,从.NET
4起,不需要注册处理程序,因为它已移至machine.config。无论出于什么原因,这都不适合我。但是将注册添加到我的应用程序的web.config中可以解决此问题。

关于此问题的许多文章都指示将处理程序添加到该

<system.web>
部分。这是行不通的,并且会导致其他问题。我尝试将处理程序添加到这两个部分中,这会产生一系列其他迁移错误,这些错误完全导致了我的故障排除方向。

万一它对其他人有帮助,如果我再次遇到同样的问题,请查看以下清单:

  1. 您是否
    type: "POST"
    在ajax请求中指定了?
  2. 您是否
    contentType: "application/json; charset=utf-8"
    在ajax请求中指定了?
  3. 您是否
    dataType: "json"
    在ajax请求中指定了?
  4. 您的.asmx Web服务是否包含
    [scriptService]
    属性?
  5. 您的网络方法是否包含
    [scriptMethod(ResponseFormat = ResponseFormat.Json)]
    属性?(即使没有此属性,我的代码也可以工作,但是很多文章说这是必需的)
  6. 您是否已将中的添加
    scriptHandlerFactory
    到web.config文件中
    <system.webServer><handlers>
  7. 您是否已从中的web.config文件中删除了所有处理程序
    <system.web><httpHandlers>

希望这对遇到同样问题的人有所帮助。并感谢海报的建议。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/575914.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号