我遇到了这个显然是常见的问题,一直无法解决它。 如果我调用我的WCF Web服务与一个数组中的相对较less数量的项目(我已经testing了50),一切都很好。 但是,如果我用500个项目调用Web服务,我得到错误的请求错误。 有趣的是,我已经在服务器上运行了Wireshark ,看起来这个请求甚至没有到达服务器 – 客户端正在生成400错误。 例外是: System.ServiceModel.ProtocolException: The remote server returned an unexpected response: (400) Bad Request. —> System.Net.WebException: The remote server returned an error: (400) Bad Request. 我的客户端configuration文件的system.serviceModel部分是: <system.serviceModel> <bindings> <wsHttpBinding> <binding name="WSHttpBinding_IMyService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false"> <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="2147483647" maxBytesPerRead="4096" […]
我有两个来自jQuery的Web服务的Ajax调用。 第一个调用( GetMessages )在javascript( setInterval )中启动一个时间间隔,并返回存储在会话variables中的string数组。 第二个调用( UploadUsers )上传用户并保存会话中的状态,以便在方法GetMessages返回。 因此,UploadUsers会将消息添加到会话中,GetMessages会检索消息并将其显示给客户端。 问题是即使我asynchronous调用两个方法, GetMessages等待,直到UploadUsers完成。 它只是加载。 我甚至把每个用户添加一个thread.sleep,我希望有GetMessages返回“1/10用户已被添加”,“2/10用户已被添加”,每个在不同的调用。 GetMessages不会返回任何东西,直到UploadUsers完成,然后一次带来所有的文本。 我有很多的代码,所以我不知道该怎么做,但在这里: UploadUsers.aspx callAsynchMethod('ClientStatusHandler.asmx/GetMessages', '', printMessages, stopPollingError); callAsynchMethod('ClientStatusHandler.asmx/StartRetrievingLeads', data, stopPolling, stopPollingError); Site.js function callAsynchMethod(url, keyValue, callBack, callBackError) { $.ajax({ type: "POST", url: url, data: keyValue, contentType: "application/json; charset=utf-8", success: callBack, error:callBackError }); } ClientStatusHandler.asmx.cs const string key = "LUMessages"; [ScriptMethod(ResponseFormat = […]
我有一堆运行在一个IIS应用程序中的.NET Web服务。 这些Web服务被另一个IIS应用程序(前端)使用。 第一个电话很慢,约5到10秒。 之后,这只是毫秒。 第一个电话被认为是一个性能问题。 我们尝试了一个调用所有这些Web服务的应用程序,但是这显然不能解决任何问题。 所以这不是默认的应用程序回收问题。 我已经创build了一个应用程序,多次初始化服务,并测量创build一个实例所需的时间。 在运行此应用程序之前,我确保我的web服务应用程序已启动/回收,然后运行该应用程序。 第一次初始化需要2到4秒,其他时间只有毫秒。 另一个想法是,我们在Frontend应用程序中创build一个页面,该页面启动所有Web服务,并且在任何用户访问之前调用此页面。我不认为这是一个优雅的解决scheme,我还可以尝试什么?
我想为HTTP POST和GET请求启用ASP.NET经典(ASMX)Web服务。 我知道这可以在一台机器或应用程序级别通过添加… <webServices> <protocols> <add name="HttpGet"/> <add name="HttpPost"/> </protocols> </webServices> ..到machine.config或web.config。 我的问题是HTTP POST和GET请求可以启用每个Web服务或Web方法级别,而不是每个应用程序或机器? 我的web服务是用c#编写的,使用net 3.5sp1。
我需要从C#Web服务获取Json数据。 我知道有几个基于此的问题,请相信我,我已经阅读了很多,但只是进一步迷惑了我。 这是我所做的: 在我的Web服务,我已经包括: [System.Web.Script.Services.ScriptService]类和[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)]的方法 我也使用JavaScriptSerializer()将我的数据转换为string 我使用$.getJSON()调用这个服务 如果我不使用,我得到一个跨域参考错误。 要做到这一点,我不得不设置m服务来获取callback函数的名称,所以我通过t his.Context.Request["callback"] +序列化的Json数据; 但在输出中,我把它包裹起来 < string xmlns="http://XYZ…"> 标签内的数据是我需要的格式 我也尝试使用设置内容types: $.ajaxSetup({ scriptCharset: "utf-8" , contentType: "application/json; charset=utf-8"}); 但仍然没有成功。 稍后添加:我接受了frenchie的anwser,因为我知道这是正确的方法,但我仍然没有得到它的工作…我只是把web服务和网站在同一个域和使用XML,我知道这不是最好的方式,但是我花了2天时间,不能浪费更多。
jQuery 1.3.2,ASP.NET 2.0。 对PageMethod(WebMethod)进行AJAX调用将返回完整/整个页面,而不仅仅是响应。 页面方法的断点显示它永远不会被击中。 我有我的方法[WebMethod]属性,它是公共静态,返回string,不接受任何参数。 我甚至尝试在我的课程顶部添加[ScriptService]来查看是否有帮助,但是没有。 我已经看到这个post与ASP.NET WebMethod返回整个页面 ,有我的症状相同,但我仍然有一个问题。 我读了http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/我觉得我跟着这个T,但仍然没有运气。 我正在做的jQuery调用是: jQuery.ajax({ type: 'POST', contentType: 'application/json; charset=utf-8', data: '{}', dataType: 'json', url: 'MyPage.aspx/SomePageMethod', success: function(result){ alert(result); } }); 根据FF3中的Firebug,请求/响应标题如下 Response Headers Server ASP.NET Development Server/8.0.0.0 Date Tue, 24 Feb 2009 18:58:27 GMT X-AspNet-Version 2.0.50727 Cache-Control private Content-Type text/html; charset=utf-8 Content-Length 108558 Connection Close Request […]
我目前正在使用的项目涉及使用会话variables的MS SQL Server和ASP.net Web服务。 显然这会导致客户端的调用按顺序执行。 我想确保这些方法asynchronous执行。 在做了一些研究之后,我认为最好的方法是使用跟踪会话(使用guid说)的表以及每个会话的单独表来保持会话状态在数据库中。 在我直接介入这个之前,我需要知道如果我configurationSQL Server来存储会话,是否可以获得Web服务的asynchronous操作。 我可以吗 ?
我想知道如果我可以发送一些web服务调用,而我的应用程序在后台。 Skype如何做到这一点? 即使我按主页button我的电话保持连接。
我在ASP.Net MVC3中托pipe一个Web服务,它返回一个Jsonstring。 从ac#console应用程序调用webservice的最佳方法是什么,并将返回parsing为一个.NET对象? 我应该在我的控制台应用程序中引用MVC3吗? Json.Net有一些很好的序列化和反序列化.NET对象的方法,但是我没有看到它有从web服务的POSTing和GETing值的方法。 或者,我应该只是创build自己的帮助方法开机自检和获取到Web服务? 我如何将我的.net对象序列化为键值对?
我刚接触AngularJS,所以请原谅我的无知。 我有一些我想调用的Web服务。 $resource或$http ,我应该使用哪一个? $resource : https : //docs.angularjs.org/api/ngResource/service/$resource $http : https : //docs.angularjs.org/api/ng/service/$http 在阅读了上述两个API页面之后,我迷失了方向。 你能否用简单的英文向我解释有什么区别,我应该在什么情况下使用它们? 我如何构造这些调用并正确地将结果读入js对象?