質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

.NET Framework 4.0

Microsoft Windows用のソフトウェア開発環境/実行環境である .NET Frameworkの4番目のメジャーバージョンです。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Q&A

1回答

1766閲覧

sqliteを用いたWEBサイトにおいて、データ登録後にpendingが発生する

OtaMasato

総合スコア44

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

.NET Framework 4.0

Microsoft Windows用のソフトウェア開発環境/実行環境である .NET Frameworkの4番目のメジャーバージョンです。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

0グッド

0クリップ

投稿2015/07/04 16:38

sqliteとC#.NETを用いた簡単なWEBサイトを作っています。

テキストボックスとラベルと確定ボタンを配置し、
確定ボタンを押すとAjaxでラベルにテキストボックスに入力した値が表示されるといった
チャットライクなツールです。

一覧画面と入力画面があり、上記は入力画面の動きです。
一覧画面はチャットの部屋を選択するイメージで、UIとしてはリンクのみで入力や保存機能はありません。

入力画面の確定ボタン→ラベル表示については、非常にレスポンスよく反応するのですが、
確定ボタンを押した後に一覧画面を表示しようとすると、なぜか1~2秒かかって表示されます。

確定ボタンを押さなければ、画面間のページ遷移はとてもスムーズです。
確定ボタンを押したときだけ、その後の画面遷移のレスポンスが悪くなります。

Chromeのデバック機能で何が起きているか確認したところ、
確定ボタンをクリック場合のみ、画面遷移についてpendingが発生していることが原因でした。

pendingが発生する理由が分からないのですが、確定ボタンを押したときだけ
のちの画面遷移でpendingが発生します。

確定ボタンでsqliteにinsertする処理はトランザクション処理で、commitも明示的にかけています。

pendingを発生させないようにするにはどのようにすればよいでしょうか。
教えて下さい。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

コードの記載がないため原因はわかりません。
とりあえず、画面遷移時の処理に処理時間を出力するログを仕込んでみてはどうでしょう。

投稿2015/07/05 00:41

sho_cs

総合スコア3541

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

OtaMasato

2015/07/05 05:51

今手元にコードが無く提示できないのですが、 ページ遷移は処理ではなく、単なるページリンク(a href)で行っています。 本件はリンクを押すと、http通信としてなぜかGET処理が起きず、1秒ほどpendingとなっています。 sqliteのクロージング処理をバックグラウンドで勝手にやってる? sqliteの更新処理をしない場合は、a hrefのページリンクをクリックすると、即時http通信のGET処理が起きて、次のページが表示されています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問