【发布时间】:2016-05-15 23:10:55
【问题描述】:
我正在浏览 MSDN 上发布的一个示例,但我无法开始工作。我在 VS2015 中有一个带有 AJAX Enabled WCF 服务的 ASP Web 窗体项目。我已经点击了 Cntrl-F5,它工作正常。我尝试在浏览器中输入 URI 并得到适当的响应。
然后,我将启用 Ajax 的 ScriptManager 添加到 Default.aspx 设计视图并右键单击“属性”视图。我添加了我的服务名称:
这是服务本身:
namespace CandidateTest.Service{
[ServiceContract(Namespace = "CandidateTest.Service")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class eThorService
{
public string button;
[WebGet()]
[OperationContract]
public void getUpdate()
{
_Default def = new _Default();
Console.WriteLine("WCF service working");
def.RenderData(button);
}
}
}
这是我试图从中调用服务的 jquery 脚本:
$(function () {
//while ($('#eThorButton').text != "Stop") {
if ($('#eThorButton').click) {
alert("APC2");
$.ajax({
url: 'http://localhost:49620/Service/eThorService.svc/getUpdate',
method: 'post',
dataType: 'json',
success: function(){
alert("success");
},
error: function (err) {
alert(err);
}
})
//delay(1000);
alert("Here");
}
});
创建服务对我的 web.config 所做的更改是默认的,我没有更改:
<system.serviceModel>
<services>
<service name="CandidateTest.Service.eThorService">
<endpoint address="" behaviorConfiguration="CandidateTest.Service.eThorServiceAspNetAjaxBehavior"
binding="webHttpBinding" contract="CandidateTest.Service.eThorService" />
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="CandidateTest.Service.eThorServiceAspNetAjaxBehavior">
<enableWebScript />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"
multipleSiteBindingsEnabled="true" />
端点为空,这可能是个问题?
所以基本上这是我第一次尝试在 WCF 中创建启用 AJAX 的服务,并且脚本不会调用该服务。我添加的警报是为了查看我的脚本是否正在使用该服务,而它似乎没有。
我已经按照enter link description here 上的示例进行了操作 这适用于 VS2012,但我希望这不是问题。我需要做什么才能让我的脚本调用服务?
编辑
在 Chrome 的开发工具中检查脚本时,我收到两个错误 -
很明显,我的脚本无法找到我的网络服务,尽管它似乎是正确的 URL。
编辑 我修复了脚本引用错误,但我的服务调用仍然返回 404
【问题讨论】:
标签: c# jquery asp.net ajax wcf