2009-04-15 5 views
0

私は多くの場所を読むように、私は実際には混乱しています、更新パネルは完全なポストバックを行い、私はどういうわけかweb serivcesがパフォーマンスにとってはるかに優れていることを理解しています。次マイクロソフトAJAXの部分的なポストバック、Webサービスの最高のpracitceを使用していますか?

protected void Page_Load(object sender, EventArgs e) 
{ 
    GetDate(); 
} 
protected void Button1_Click(object sender, EventArgs e) 
{ 

} 
[WebMethod()] 
protected DateTime GetDate() 
{ 
    return DateTime.Now; 
} 
  • などの通常の機能は、私は戻ってポストを使うのでしょうか?
  • ウェブサービスの落とし穴は何ですか、特にAJAXのウェブサイトにはありますか?
  • 最高のは、Microsoft AJAX個人的に
+0

prettycode.orgで投稿をチェックアウトすることができます。かなり簡単な例がある2つの記事があります。 – core

答えて

1

で最もパフォーマンスを絞り出し上のあなたのアドバイスが何であるかを、私は、ASP.NET MVCのアクションを呼び出すためのjQueryを使用して見ているは​​ずです。はるかに単純なパイプラインで、ワイヤーの上下に何が起こっているのかを正確に知ることができます。

2

ウェブサービスはviewstateの混乱を回避します。
はい、私は、ウェブの世界であなたの利益を最大限に引き出すためのベストプラクティスとしてウェブサービスを使用することを検討します。

回避できる場合はいつでもポストバック/コールバックすることができます。

落とし穴:Webサービスを作成するときは、ViewState経由で通常持つすべてのデータを渡す必要があります。

私はJQueryを傾けることを強くお勧めします。それは多くの助けになります。

Webサービスのパフォーマンスについては、XMLの代わりにJSON(ScriptMethod)を使用してデータを前後に移動します。

編集:about ViewState mess。 ViewState(コントロールのシリアライズに使用され、ページの非表示フィールドです)を慎重にしないと、非常に大きくなります。このデータは、Webサービスではなく、ポストバックごとにブラウザからサーバーに送信されます。これにより、Webサービスコールをポストバック(ViewStatesが大きいページの場合)よりも大幅に高速化できます。 ViewStateは悪くはありませんが、あなたはそれを見守りたいと思っています。

ポストバックは、runat = 'server'のWebコントロールとサーバー上で実行されているコードとの間の移行が発生した場合に発生します。たとえば、ボタンのクリックイベントによってポストバックが発生します。

Asp.Net開発者は、実装が簡単なため(IDEがあなたのためにそれをフックします)、ポストバックを優先します。
Webサービスは若干難しく、JavaScriptの知識が必要です。

もう1つの簡単なオプションは、UpdatePanelsを使用することです。しかし、まだViewStateを利用しています。

+0

男性、 - viewstateの混乱に関して、もっと詳しく説明できますか? - 私の簡単なサンプルでは、​​どのように私はポストバックを避けることができますか? – DevMania

+0

私は投稿にさらに多くのコンテンツを追加しました。私はそれが助けて欲しい –

+0

男素晴らしい偉大な答え、それは面倒でない場合は、私は誰もポストバックに私のサンプルを変換することはできますか? – DevMania

関連する問題