我已经看过很多例子,甚至以前在一些WCF代码上工作过,也许还没有完全理解它。既然我正在尝试自己实现它,我似乎无法让它工作所以我正在寻找一些提示!
以下是我的情况:
好 - 我可以构建服务库并将其托管在服务应用程序或IIS7中,这两者都给我成功的结果,因为我可以通过在浏览器中输入.svc文件的位置来查看服务。
糟糕 - 我需要通过javascript连接到服务,但是通过json连接到localhost给了我“No Transport”,或者如果我尝试通过jsonp连接到我的托管服务器给我'成功'但是有未定义的响应(应该是一个你好世界的回应..)
这是我在服务上的配置文件:
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
这是我的JS for json:
$.ajax({
url: "http://10.8.8.53/Schools/SchoolsService.svc/TestSchoolVal1",
dataType: "json",
timeout: 10000,
data: "4",
type: "POST",
success: function (data, textStatus, jqXHR) {
},
error: function (jqXHR, textStatus, errorThrown) {
},
complete: function (jqXHR, textStatus) {
}
});
jsonp代码与jsonp相同,而不是json和jsonpcallback函数定义。
有什么建议吗?我需要同时获得localhost和我的IIS7!
我也尝试在visual studio中包含外部引用,它会生成更多web.config - 但我想通过javascript访问svn,而不是后端代码!!
更多信息:服务名称空间是SchoolsWCF,类是Service1,服务文件是SchoolsService.svc,方法是TestSchoolVal1,它接受一个int参数,localhost托管应用程序是一个Windows控制台应用程序。