Tag: wcf

WCF,POST JSONized数据

我有一个复杂的类型: [DataContract] public class CustomClass { [DataMember] public string Foo { get; set; } [DataMember] public int Bar { get; set; } } 然后,我有一个WCF RESTful Web服务,其中包含: [OperationContract] [WebInvoke(Method = “POST”, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare, UriTemplate = “/class/save”)] bool Save(CustomClass custom); 所以在浏览器端我将我的CustomClass对象jsonized到它看起来像: var myClass = “{ foo: \”hello\”, bar: 2 }”; […]

如何配置要通过跨域AJAX调用的WCF服务

我在配置我的WCF服务时遇到一些困难,允许通过跨域AJAX进行消费。 我已成功在客户端上使用此服务没有任何问题,但每次我尝试使用AJAX(通过jQuery中的$ .ajax对象)命中它时,我得到400错误。 这是我的web.config <!—-> <!– –> 这是我的经营合同。 Namespace Contracts Public Interface IWebAnalyticsService Sub SendWaEvent(ByVal eventID As Integer, ByVal eventValue As String, _ ByVal cookieVisitID As String, ByVal cookieVisitorSession As String, _ ByVal HTTPXForwardedServer As String, ByVal HTTPXRewriteURL As String, _ ByVal ScriptName As String, ByVal ServerName As String) End Interface End Namespace 我的Ajax调用非常简单,但它是: $.ajax({ […]

资源解释为脚本,但使用MIME类型application / json进行传输。 &parsererror

好的,所以我在.html文件中有一个JQuery AJAX调用,坐在我的桌面上。 它调用位于以太网上的Web服务器上的WCF服务。 好消息是它有效。 排序……几乎……但并非完全。 AJAX调用将执行, Fiddler显示来自Web服务的JSON响应。 不幸的是,它并没有一直回到浏览器。 callback=? 是的,所以我没有得到跨站点脚本错误。 (访问控制等等等等) 如果我使用Chrome的开发工具打开它,它会给我以下消息: Resource interpreted as script but transferred with MIME type application/json 成功:没有调用回调,而错误:callback在statusText: parsererror中返回一个单词 我一整天都在喋喋不休。 function AJAXGet() { $.ajax({ url: “http://xxxx/yyyyService/yyyyService.svc/GetZZZ?callback=?”, dataType: ‘json’, data: JSON.stringify(‘{“customerID”: “1”}’), contentType: “application/json; charset=utf-8; application/x-javascript”, success: function (data) { alert(data); }, complete: function (data) { alert(data); }, error: function (xhr) […]

在WCF服务上启用CORS。 获取HTTP 405:不允许的方法

我试图在WCF服务上启用CORS。 当我尝试从客户端发送请求时,请求使用OPTIONS动词发送。 我总是得到HTTP 405: Method not allowed错误 如果我尝试使用Fiddler并使用POST动词创建相同的请求,则响应似乎是正确的。 我试图在教程http://brockallen.com/2012/10/18/cors-iis-and-webdav/的帮助下删除webDAV但它似乎没有用。 我已经更新了我的WCF以启用CORS,参考教程http://enable-cors.org/server_wcf.html 。 我不确定出了什么问题。 响应似乎有CORS标题 任何帮助将受到高度赞赏。 PS:我不想让这个问题变得非常大和令人困惑。 如果您想查看我的配置,请告诉我,我可以分享

WCF服务,下载带参数的文件,在GET请求上发送数据

jQuery支持使用GET请求发送数据: jQuery.get( url [, data ] [, success(data, textStatus, jqXHR) ] [, dataType ] ) 是否可以编写支持在GET请求上接收数据的WCF服务? 非常感谢一个例子。 更新:Url长度超过IE8的限制,IE8是必需的。 我需要传递很多参数,基本上是一个很大的JSON。 我解决这个问题的方法是发出POST请求,将参数存储在服务器端,然后将window.location设置为服务位置,调用将下载我的文件的GET请求。但是,我想避免POST请求并将文件存储在服务器端,因为我在分布式系统中,我有很多问题。

jQuery Ajax调用WCF服务返回“Method not allowed(405)”

我使用VS 2008创建了一个WCF SOAP服务,它服务于服务器端。 我在下面的代码中使用jQuery / json(没有ASP.NET scriptmanager)来调用相同的服务/合同客户端。 当我将服务URL放入浏览器时,我得到了正确的服务页面,当我从javascript调用服务并通过Firebug跟踪时,我得到“405方法不允许”。 ajax()错误函数的statusText和responseText不包含任何内容,并且由于某些奇怪的原因错误函数被调用两次。 我也是从https页面调用该服务。 相同的ajax代码可以与服务器端和客户端类似的传统Web服务一起使用,也可以使用页面方法。 有什么线索吗? 我还注意到我没有安装Windows Communication Foundation HTTP激活和非HTTP激活。 我需要这些吗? 我的服务器端WCF服务工作。 接口: [ServiceContract] public interface ICust { [OperationContract] [WebInvoke(Method = “POST”, BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)] bool GetCust(string zzz); } 类: public class Cust: ICust { public bool GetCust(string zzz) { // Do Stuff […]

从客户端(Jquery)向服务器(WCF)发送自定义对象

如何从客户端(jquery)向服务器(WCF服务)发送自定义对象 传递对象的方式是什么? 下面是我的代码,当我在萤火虫中看到这是我得到的请看屏幕截图: http : //img88.imageshack.us/img88/205/54211873.png var CustomerInfo = { Name: ”, Address: ” }; function buildNewCustomerRequest() { var request = { CustomerInfo: CustomerInfo }; request.CustomerInfo.FirstName = $(“#Name”).val(); request.CustomerInfo.Address = $(“#Address”).val(); return request; } $(“#getcustomerobject”).click(function (event) { var request = buildNewCustomerRequest(); var json = JSON.stringify(request); $.getJSON(‘http://host/MyService.svc/GetCusto merObject?CustomerObject=?’, { request: json }, function (customer) { // […]

从JQuery发布到WCF服务

我有一个WCF服务(称为“myservice.svc”),它接收来自用户的消息并将其保存到数据库。 它以数字的forms向用户返回响应。 此操作如下所示: [OperationContract] [WebGet] public string SubmitMessage(string message) { try { // SAVE TO DATABASE return “1”; } catch (Exception ex) { return “0”; } } 我想从一些JQuery中调用这个操作。 我正在使用此处显示的方法: $.getJSON( “/services/myService.svc”, {message:”some text”}, function (data) { alert(“success”); } ); 奇怪的是,永远不会显示“成功”警报。 另外,我在我的WCF服务中设置了一个断点,它永远不会被触发。 我究竟做错了什么? 谢谢

jQuery发布到WCF服务返回405错误

我最近刷了我的jQuery,当我越过post时我遇到了一个问题,我无法从wcf服务得到响应我经常得到405 – 方法不允许。 我的要求对我来说很好,我想知道我是否错过了一些至关重要而又明显的原因。 这是使用的邮政编码: $.ajax({ type: “POST”, url: “http://localhost:59929/CustomerService/GetCustomers”, data: null, ContentType: “application/json”, dataType: “json”, success: function (msg) { alert(“Called and got: ” + msg); }, error: function (result) { alert(‘Service call failed: ‘ + result.status + ” + result.statusText); } }); wcf代码如下: [ServiceContract] public interface ICustomerService { [OperationContract] [WebInvoke(Method = “POST”, BodyStyle = […]

将对象中的列表发送到Wcf服务

我使用Wcf Service和JS 。 我通过AJAX向我的服务发送信息。 我在服务中有一个接受以下对象的函数: [DataContract] public class Business { [DataMember] public string Name { get; set; } [DataMember] public string Desc { get; set; } [DataMember] public List Services { get; set; } } BusinessService.cs: [DataContract] public class BusinessService { [DataMember] public string Name { get; set; } [DataMember] public string Desc { get; […]