相关疑难解决方法(0)

在ASP.Net站点中使用AJAX调用时,REST WCF服务会锁定线程

我在ASP.Net站点中使用AJAX在页面中使用了WCF REST服务.

我希望能够从我的服务异步中调用方法,这意味着我将在我的javascript代码中使用回调处理程序,并且当方法完成时,输出将被更新.这些方法应该在不同的线程中运行,因为每个方法都需要不同的时间来完成它们的任务

我有代码半工作,但是发生了一些奇怪的事情,因为我第一次在编译后执行代码,它工作,在不同的线程中运行每个调用但后续调用blocs服务,每个方法调用都有这样的方式等到最后一次通话结束才能执行下一次通话.他们正在同一个线程上运行.我在使用页面方法之前遇到了同样的问题,我通过禁用页面中的会话解决了这个问题,但我还没想到在使用WCF REST服务时如何做同样的事情

注意:方法完成时间(运行它们异步应该只需要7秒,结果应该是:Execute1 - Execute3 - Execute2)

  • Execute1 - > 2秒
  • Execute2 - > 7秒
  • Execute3 - > 4秒

输出编译后

编译后

输出后续调用(这是问题)

后续电话

我会发布代码......我会尽量简化它

服务合约

[ServiceContract(
    SessionMode = SessionMode.NotAllowed
)]
public interface IMyService
{
    // I have other 3 methods like these: Execute2 and Execute3
    [OperationContract]
    [WebInvoke(
        RequestFormat = WebMessageFormat.Json,
        ResponseFormat = WebMessageFormat.Json,
        UriTemplate = "/Execute1",
        Method = "POST")]
    string Execute1(string param);
}
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior( …
Run Code Online (Sandbox Code Playgroud)

c# asp.net ajax wcf multithreading

5
推荐指数
1
解决办法
3805
查看次数

标签 统计

ajax ×1

asp.net ×1

c# ×1

multithreading ×1

wcf ×1