0

親愛なる開発者の友人へ

ASP.Net MVC4 で自己ホスト型 API を開発しました (例: http://blogs.msdn.com/b/henrikn/archive/2012/03/01/file-upload-and-asp-net-web-api .aspx )、非常に大きなファイルをアップロードできるソリューションが必要だったからです。これはスムーズに動作します。

ここで、 Bluimp JQuery Upload componentを介して、新しく作成した API にファイルをアップロードしたいと考えています。

いくつかの小さな欠陥を除いて、これは正常に動作します:
- プログレスバーが表示されない
- JQuery がエラーを発生させます:安全でないJavaScript が URL でフレームにアクセスしようとしています...

私の API は Web アプリケーションとは別のポートで実行され、クロスドメイン/ポートを介して ajax 呼び出しを行うことができないため、このエラーが発生することは明らかです。

すでに forceIframeTransport: true パラメータを fileupload コンポーネント呼び出しに追加しています。これがないと、ファイルをまったくアップロードできません (コンポーネントが ajax 呼び出しでアップロードしようとするため)。

だから.. Webアプリケーションと同じポートで(明示的に定義されたルートを使用して)自己ホスト型APIを実行する方法があれば、私の世界は再び幸せで輝きます。しかし..これが可能かどうかはよくわかりません..

残念ながら、ASP.Net アプリケーションからのプロキシはここでは役に立ちません。IISの制限 (最大アップロード サイズに関して)を回避するために API を作成したからです。自分でホストする API をプロキシとして使用するのは仕事に役立つかもしれませんが、これはちょっとやり過ぎだと思いますか?

誰?前もって感謝します!

4

1 に答える 1

1

ヤフー!解決しました!

var config = new HttpSelfHostConfiguration("http://localhost:49302/ api ");

つまり、Web API は、URL が/apiで始まる場合にのみ機能します。他のすべての要求は、MVC4 Web アプリケーションによって取得されます。しかし、それらは同じポートで実行されます。

だから私の質問に答えるために:はい、それは可能です。ルートディレクトリを追加するだけです。

于 2012-08-22T20:27:54.780 に答える