Member 12785541 Ответов: 1

Сделать веб-метод асинхронного


Привет все ,

я пытаюсь сделать несколько операций одновременно в одно и то же время
за "Аякс", чтобы найти некоторые данные в базе,
но почему-то это не работает , потому что сервер обрабатывает каждый запрос индивидуально !!

разве это вообще возможно ?

Что я уже пробовал:

File1.js
<pre lang="Javascript"><script>
$.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    dataType:"json",
                    async: true,
                    cache:false,
                    data: "{myparameters}",
                    url: "myFunct"
                    success: callback

});
</script>

File2.js
<script>
$.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    dataType:"json",
                    async: true,
                    cache:false,
                    data: "myparameters",
                    url: "myFunct"
                    success: callback

});
</script>


<WebMethod()> Public Shared Function myFunct (par1 as string) as string
//do some code here
end Function

j snooze

разве вы просто не поместили бы асинхронность в свое определение метода?
https://docs.microsoft.com/en-us/dotnet/visual-basic/programming-guide/concepts/async/

Member 12785541

я уже пробовал это раньше , но это не помогло !!

1 Ответов

Рейтинг:
4

Richard Deeming

Наиболее вероятная проблема заключается в том, что у вас включено состояние сеанса. Даже если ваш метод никогда не касается состояния сеанса, если он включен для обработчика запроса (страница), все запросы к этому обработчику с одним и тем же идентификатором сеанса будут сериализованы.

Если это возможно, отключите состояние сеанса для этой страницы:

<%@ Page ... EnableSessionState="False" %>

Если вам нужно прочитать данные из сеанса, вы можете сделать его доступным только для чтения:
<%@ Page ... EnableSessionState="ReadOnly" %>

Если другие части вашей страницы нуждаются в записи в сеанс, то вам нужно будет переместить метод в отдельный обработчик и отключить состояние сеанса для этого обработчика.

Если ваш метод должен записывать данные в сеанс, то вы ничего не можете сделать.

ASP.NET общие сведения о состоянии сеанса | Майкрософт документы[^]


Member 12785541

я уже установил enablesession на False , но все еще не асинхронный :
<webmethod(enablesession:=false)> Public Shared Function myFunct (par1 as string) as string
//сделайте здесь какой-нибудь код
конечная функция

Richard Deeming

Если метод является частью страницы, необходимо отключить состояние сеанса для всей страницы, а не только для этого метода.

Member 12785541

Thnak вас так много я сделать его только для чтения , и она работает