Ajax ASP.NET - Асинхронный запрос имеет отдельную сессию?

я создал первый подход с использованием framelayout следующим образом:

  <FrameLayout
    android:id="@+id/frame"
    android:layout_width="match_parent"
    android:layout_height="70dp"
    android:onClick="rotate">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        app:layout_constraintBottom_toTopOf="@+id/view"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/imageView2">

        <Button
            android:id="@+id/button"
            style="@style/Widget.AppCompat.Button.Borderless"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@color/colorPrimary" />

        <Button
            android:id="@+id/button2"
            style="@style/Widget.AppCompat.Button.Borderless"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@color/colorAccent" />
    </LinearLayout>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:gravity="center"
        android:text="Button text"
        android:textAppearance="@style/TextAppearance.AppCompat.Display1"
        android:textColor="@android:color/white" />
</FrameLayout>

для вращения любого представления создайте файл anim.xml в папке anim в res right click на res -> new android res dir -> выберите anim, затем создайте анимированный файл, щелкните правой кнопкой мыши на папке anim, которую вы только что создали, и new anim res file, а затем вставьте код в боковую часть, это повернет ваш фрейм-макет в этом определенном коде на 180 градусов [1112 ]

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
 android:fillAfter="true">

<rotate
    android:duration="500"
    android:fromDegrees="0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toDegrees="180" />
</set>

используйте его как следовать на kotlin

 fun rotate(view: View) {

    val rotate = AnimationUtils.loadAnimation(
            applicationContext,
            R.anim.rotate
    )

    frame.startAnimation(rotate)

}
5
задан Rich Seller 21 July 2009 в 16:13
поделиться

4 ответа

Нет нескольких сессий между нормальными загрузками страницы ASP.NET, обратными передачами и Ajax ASP.NET частичные обратные передачи. Я могу сказать Вам это с уверенностью.

Вместо того, чтобы хранить строку поиска на сессии, как насчет того, чтобы просто использовать содержание поискового TextBox непосредственно? Я не могу думать ни о какой причине, почему необходимо было бы переставить ее вокруг, так как это будет доступно в течение всего жизненного цикла страницы так или иначе.

Наконец, относительно Ваших требований... Используя UpdatePanel не выполняет требование, чтобы Ваши пользователи смогли использовать другую функциональность на странице, если та функциональность также повышает частичные обратные передачи. Только одна частичная обратная передача может произойти за один раз. Если другое событие будет сгенерировано, в то время как Ваш поиск происходит, поисковый запрос будет отменен без любого уведомления.

Используя метод страницы или веб-сервис для поиска было бы намного более быстрое, более легкое, и больше устойчивого способа сделать его. Я обычно не включаю свой собственный сайт, но я думаю, что несколько моих сообщений точно относятся для того, что Вы делаете:

Вы могли использовать пользовательский элемент управления для рендеринга результатов поиска через веб-сервис (намного быстрее, чем UpdatePanel): http://encosia.com/2008/02/05/boost-aspnet-performance-with-deferred-content-loading/

Или, Вы могли возвратить результаты поиска как JSON и рендеринг что на стороне клиента (еще быстрее): http://encosia.com/2008/06/26/use-jquery-and-aspnet-ajax-to-build-a-client-side-repeater/

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

4
ответ дан 18 December 2019 в 14:54
поделиться

Просто другая мысль, я всегда сталкивался с проблемами с updatepanel и предпочитаю писать свой атлас ajax запросы через библиотеку непосредственно, с помощью PageMethods. Вы имеете больше контроля над тем, что Вы отправляете и получаете. UpdatePanel отправляет всю страницу и получает всю иерархию управления страницей, затем он анализирует, что 'ново' и дисплеи это.

Править: Каков код, который Вы используете для сохранения критериев к сессии? И у Вас есть код в методе, который на самом деле проверяет, чтобы видеть, имеет ли сессия некоторые сохраненные критерии и пасует назад это вместо этого? Возможно, вот почему 2-е/3-и updatepanel обратные передачи возвращают первый набор критериев вместо ожидаемых результатов? Как в стороне, я знаю от выполнения некоторого тяжелого атласа ajax вещи, что существует определенно не, две сессии (один для нормальной обратной передачи, один для асинхронного) там шанс, Вы используете веб-ферму?

Редактирование № 2: Я не смог бы записать то, что я записал выше (первый параграф), если я не был поклонником кого-то, кто ответил также: https://stackoverflow.com/users/60/dave-ward

5
ответ дан 18 December 2019 в 14:54
поделиться

Необходимо установить свойство EnableSession атрибута WebMethod для функции, которую Вы вызываете.

[WebMethod( EnableSession=true )]
public static void DoSomething(){
    /// ....
}
4
ответ дан 18 December 2019 в 14:54
поделиться

Если вы используете общие обработчики .ashx, просто наследуйте от интерфейса IRequiresSessionState

public class ActionRequest : IHttpHandler, IRequiresSessionState
{
}
0
ответ дан 18 December 2019 в 14:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: