我正在开发一个 win8 应用程序,它应该使用托管在 IIS 上的 WCF 服务,但它不会... 注意:Web 服务工作得很好。我已经在 VS2012 中使用 WCF 测试客户端对其进行了测试这是我的代码:
IService.cs:
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
[ServiceContract]
public interface IService
{
[OperationContract]
string SitePredmeti();
[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Xml)]
List<Profesor> SiteProfesori();
}
我做了两种方法:一种返回 xml,另一种返回 json,这样我就可以测试哪一种有效。WS 是返回 json 还是 xml 都没有关系,我可以在应用程序中使用其中任何一个。
我在 win8 中为 html5/JS 应用程序使用默认的 SPLIT APP 模板,没有任何更改。现在我只需要使用 wcf 服务,稍后我将处理数据模板。
我的 iis 托管 wcf 的 url:
http://localhost/InformatorWS/Service.svc
这是我到目前为止所尝试的:
var baseURl = "http://localhost/InformatorWS/Service.svc/SitePredmeti/";
var url = baseURl+Number1.value+"/"+Number2.value;
WinJS.xhr({ url: url }).then(function (r) {
var result = JSON.parse(r.responseText);
ResultSpan.innerHTML = result; });
我在这里得到的错误是:
{"exception":null,"error":{},"promise":{"_oncancel":null,"_nextState":null,"_state":>{"name":"error","done":null ,"then":null},"_listeners":null,"_value":{},"_isException":false,"_errorId":2},"id":2}
接下来我尝试通过 jquery ajax 调用它:
$(document).ready(function () {
jQuery.support.cors = true;
//Calling WCF Service using jQuery ajax method
$.ajax({
type: "GET",
async: "false",
url: "http://localhost/InformatorWS/Service.svc/SitePredmeti",
contentType: "application/json; charset=utf-8",
dataType: "json",
processData: true,
success: function (result) {
//AjaxSucceeded(result);
alert('ok')
},
error: alert('ne ok')
});
});
当我链接 jquery
<script type="text/javascript" src="js/jquery-ui-1.8.9.custom.min.js"></script>
<script type="text/javascript" src="js/jquery-1.4.3.js"></script>
我得到三个例外:
ms-appx://66b782f9-8814-4b8e-a2e3-d6e73893690a/js/jquery-ui-1.8.9.custom.min.js 0x800a1391 第 10 行第 2 列未处理的异常 - JavaScript 运行时错误:'jQuery' 是不明确的
(其中两个 - 用于成功和错误的两个警报)
ms-appx://66b782f9-8814-4b8e-a2e3-d6e73893690a/js/default.js 0x800a1391 第 8 行第 9 列未处理的异常 - JavaScript 运行时错误:“警报”未定义
有人知道我在做什么错吗?或者只是任何人都知道使用 IIS 上托管的 WCF 服务的任何方式?
非常感谢您提前。