2012-04-03 9 views
0

基本的に、複数のアプリケーションに公開するメソッド(または複数のメソッド)がある場合、jQuery Ajaxリクエストを介してこれらを呼び出し可能にする最良の方法は何ですか?むしろ、これらのメソッドをコピーしてASHXなどの機能に必要なすべてのプロジェクトのどこかに貼り付ける必要はありません。クラスライブラリのメソッドに対してAjaxリクエストを行うことは可能ですか?

たとえば、郵便番号に基づいて都市と州を検索する方法があります。私は、共有DLLからこのメソッドを呼び出すと、メソッドをコピーするか、単にそのDLLへの呼び出しをルックアップ機能を必要とするすべてのプロジェクトにラップするメソッドを追加する必要はありません。

一般的な「ユーティリティ」Webサービスを用意する必要がありますか?これは実際にはAPIを提供するWebサービスではなく、一般的に使用されているメソッドのグループなので、ハックのようなアプローチのように思えます。

これは、MVCではなく、ASP.NET WebFormsにあります。

答えて

2

ウェブサービスでも、各アプリケーションから前記サービスを呼び出すコードを複製する必要があります。 MVCアプリケーションのアプローチでは同じことが当てはまると思いますが、それについてはわかりません。

私にとっては、共有されたdll(または要件に応じてサービス)を使用しただけです。はい、あなたは、各アプリケーションからそのDLLを呼び出すコードを複製する必要がありますが、私はそれが大幅にあなたがしようとしている単純化すると思う。とにかく共通のライブラリを見る傾向があります。

0

まあ、そこにライブラリがAjaxProと呼ばれている..しかし、あなたは厳密にjQueryのAjaxのメソッドを使用することを意図している場合、それはちょっと=/

0

を非推奨だ、ちょうど例えば、MVCアプリケーションでどのようなクラスラップ各コントローラアクションはJSON結果で動作する各メソッドを呼び出します。

+0

これは唯一の方法ですか?興味深い考えですが、共有ユーティリティ用のMVCアプリケーション全体を作成することは、Webサービスを作成するよりも悪いハックのようです。 –

+0

いいえ、もちろんそうではありません。しかし、これは私にとって最も効率的な方法でした。私はこの機能をMVCアプリケーションに追加しなければなりませんでした。 –

+0

ああ。私はWebFormsで作業する必要がありますので、MVCの贅沢さも持っていません;-) –