在ASP.NET Web服务(ASMX)的JSON请求中,什么时候区分大小写是重要的?
|
我已经使用发送到ASP.NET 2.0 ASMX Web服务的JSON请求(使用AJAX Extensions 1.0 for ASP.NET 2.0)完成了以下测试,似乎在某些情况下,区分大小写很重要,但在其他情况下却非常重要。请参见以下示例: >案例匹配100%: {"request":{"Address":{"Address1":"123 Main Street","Address2":"suite 20","City":"New York","State":"NY","Zip":"10000","AddressClassification":null}}}
结果:HTTP / 1.1 200 OK {"request":{"address":{"Address1":"123 Main Street","AddressClassification":null}}}
结果:HTTP / 1.1 200 OK {"Request":{"address":{"Address1":"123 Main Street","AddressClassification":null}}}
结果:HTTP / 1.1 500内部服务器错误 (快速注意事项:Request类和参数请求共享同名的事实并不相关,即使将参数名称更改为lrequest,仍然需要区分大小写。) JSON Web Service请求中的区分大小写何时重要?另外,这是一个一般的Web服务问题,还是ASP.NET AJAX特定的? 附加背景资料: 我正在使用AJAX Extensions 1.0 for ASP.NET 2.0,所以这可能已经在更高版本的框架中被解决了。如果是,请让我知道。 在跟踪我最近的question regarding formatting JSON strings中的答案后,我意识到我的请求失败的原因不是因为无效的JSON(感谢T.J. Crowder指出并链接到http://www.jsonlint.com/进行JSON验证)。相反,在做了一些更多的测试之后,我发现问题是因为Web服务没有我的JSON对象被格式化,我发现Web服务在区分大小写方面非常挑剔。看起来有时候敏感性很重要,而其他时候则不是(见上面的例子)。 这是我的C#代码的Web方法和类看起来像: [WebMethod]
public Response ValidateAddress(Request request)
{
return new test_AddressValidation().GenerateResponse(
test_AddressValidation.ResponseType.Ambiguous);
}
...
public class Request
{
public Address Address;
}
public class Address
{
public string Address1;
public string Address2;
public string City;
public string State;
public string Zip;
public AddressClassification AddressClassification;
}
public class AddressClassification
{
public int Code;
public string Description;
}
解决方法根据 JSON-RPC spec,答案是永远。
所以,这听起来像是为你工作的情况是例外,而不是他们没有的情况。有可能某个方面的人只是不遵守规范。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 什么是好的openid选择器控件?
- asp.net-mvc – 依赖注入和ASP.Net成员提供程序
- 使用ASP.NET创建缩略图的“最佳”方法是什么?
- asp.net – SOAP与HTTP
- asp.net – 找不到可安装的ISAM. ‘/’应用程序中的服务器错
- 认证 – 支持个人用户帐户和组织帐户在MVC5 / ASP.Net身份2
- asp.net-mvc – 在ASP.NET MVC中,response.redirect如何工作
- asp.net-mvc-3 – 子动作是否与其“父母”动作共享相同的Vi
- 要监控已部署的ASP.NET Web应用程序的关键性能指标是什么?
- asp.net-mvc – MVC3 Url.Action查询字符串生成
