gpt4 book ai didi

asp.net - WCF 中的 405 方法不允许错误

转载 作者:行者123 更新时间:2023-12-05 00:07:02 24 4
gpt4 key购买 nike

有人能发现这个实现的问题吗?我可以在浏览器中打开它并且它可以工作,但是来自客户端的调用(同时使用 jquery 和 asp.net ajax 失败)

服务合约

[OperationContract(Name = "GetTestString")]
[WebInvoke(Method = "GET",
ResponseFormat = WebMessageFormat.Json
)]
string GetTestString();

在其他绑定(bind)中的 Web.config 中,我有一个 webHttp 绑定(bind)
<endpoint address="ajax" binding="webHttpBinding" contract="TestService" behaviorConfiguration="AjaxBehavior" />

端点行为
  <endpointBehaviors>
<behavior name="AjaxBehavior">
<enableWebScript/>
</behavior>
</endpointBehaviors>
</behaviors>

服务端文件
<%@ ServiceHost Service="TestService" %>

客户
var serviceUrl = "http://127.0.0.1/Test.svc/ajax/";
var proxy = new ServiceProxy(serviceUrl);

然后我使用 http://www.west-wind.com/weblog/posts/324917.aspx 中的方法
调用服务

最佳答案

您链接上的示例使用 Http POST,而不是 Http GET。那是“不允许的方法”-您需要更改代码以执行 GET。

您发布的作为客户端代码源的链接具有以下 block :

 $.ajax( { 
url: url,
data: json,
type: "POST",
processData: false,
contentType: "application/json",
timeout: 10000,
dataType: "text", // not "json" we'll parse

注意 type: "POST"在那里 - 你的需要是“GET”。我假设您从发布的链接中获取了 JQuery,因为 405 状态表明您的调用代码错误,而不是服务错误。

关于asp.net - WCF 中的 405 方法不允许错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2436182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com