【发布时间】:2011-01-03 13:48:53
【问题描述】:
我正在使用一个简单的支持 ajax 的 WCF 服务。我正在客户端上创建一个 XML 字符串并执行 get(默认情况下)。这是代码。我看到了“WebGet”属性,但没有“WebPost”
[OperationContract, WebGet(ResponseFormat = WebMessageFormat.Json)]
public string PrepareDoc(string inputXML)
{
var arg = new CommandArg();
arg.ParamCollection.Add("inputXML", inputXML);
var result = LetterBLL.DoLetter(new PrepareDocCmd(), arg);
return result.ScalarResult.ToString();
}
这将返回一个我可以在客户端上评估的序列化字符串。这一切都很好。当 inputXML 超过 2048 的 IE Url 最大长度时,我确实遇到了问题。我收到一个 JavaScript 错误,提示资源不可用。除了缩小 URL 之外,解决方案是切换到 POST。我怎样才能做到这一点?我也应该将 json 发送到服务而不是 XML 字符串
在客户端上,我在脚本管理器中注册服务引用,以便它创建代理对象。我像这样从javascript调用服务。 _prepareDoc 引用客户端对象内的服务方法。
this._prepareDoc(sb.toString(), successFunc, failFunc, this);
如何更改此内容以发布帖子?同样在服务器上,我需要更改什么?我目前正在接受一个 XML 字符串作为输入。
非常感谢任何提示, ~ck 在圣地亚哥
【问题讨论】:
标签: asp.net ajax wcf http asp.net-ajax