1

最初は、JQuery Mobile サイトと ServiceStack レスト サービスを含む MVC アプリケーションから始めました。私の取得と投稿は AJAX 経由で行われ、すべて正常に動作しています。

現在、サービススタックの残りのサービスを ASP.NET アプリケーションに移動しましたが、クロス ドメインの問題が発生しています。

JSONP を使用することを考えましたが、それは「取得」を整理しますが、「投稿」リクエストを作成できないことを読みました (現時点では JSONP にあまり慣れていません)。

私のオプションが何であるか知りたいですか?するべきか

1) AJAX 呼び出しを MVC コントローラーに戻してから、そこから新しい REST サービスを呼び出します (ServiceStack を使用した ASP.net アプリ内)。

2) 可能であれば、(ブラウザから) クロスドメイン呼び出しを行う方法を見つけます。

1) を使用すると、MVC アプリに移動してから ASP.NET サービス スタック レスト サービスを呼び出すため、パフォーマンスに影響がありますか。

4

2 に答える 2

1

特にアプリケーションが同じネットワーク/ドメインからホストされる場合は、オプション 1 に投票します。

つまり、クロスドメインルートに興味がある場合は、それもオプションです. jsonp を介してクロスドメインを取得するという点では、これは MVC に関して私が立ち上げて実行するのに大いに役立った記事です: http://blogorama.nerdworks.in/entry-EnablingJSONPcallsonASPNETMVC.aspx

クロスドメイン POSTS は、GET リクエストを実行し、「GET」パラメーターのシリアル化を手動で処理する必要があるため、少し面倒です。

于 2012-06-11T15:59:58.713 に答える
1

ご存知のように、ServiceStack と MVC を一緒にホストする場合、これは問題ではありません。これは、 SocialBootstrapApiデモに見られるように、 ServiceStack.Host.Mvc NuGetパッケージで簡単にセットアップできます。

リバース プロキシの使用

追加のコードボイラープレートとオーバーヘッドのために、MVC を介してすべての HTTP リクエストを ServiceStack にプロキシするオプション 1) は好きではありません。

プロキシを使用する場合、ネイティブ/トップレベルのリバース プロキシ サーバーの下にプロキシを構成し、/api で始まるすべてのパスを内部の ServiceStack URL にルーティングし、それ以外はすべて MVC ホストにルーティングする方が、オーバーヘッド、コード、およびクリーン度が低くなります。IIS を使用している場合は、 IIS Rewrite と Application Request Routing でこれを有効にできます。これは、 NginxApacheでセットアップするのもかなり簡単です。

クロスドメイン リクエストを有効にする

JSONP を使用するか、CORS を有効にすることで、クロス ドメイン リクエストを作成できます。ServiceStack でそれを行う方法は次のとおりです。

servicestack REST API と CORS

于 2012-06-11T16:49:17.627 に答える