2017-02-11 3 views
1

私のシンプルなウェブアプリケーションには、Web APIとWeb MVCプロジェクトがあります。 mvc appから私はajaxを使ってWeb APIサービスを利用しています。ウェブAPIを使用し、別のマシンにあるポート

今の私のURIはこの

var uri = 'http://localhost:2266/api/cars'; 

とWeb API側のように見えます私は私のMVCアプリとの通信のためのCORSを有効にする必要があります。私は、このポートは、各マシン上で同じになるように22562266値行うことができますどのように私の友人でこれを共有したいから、私のマシン上でうまく働い

[EnableCors(origins: "http://localhost:2256", headers: "*", methods: "*")] 

このセットアップ?\

それともそれはだ場合この値を設定可能にするにはどうしたらいいですか?

ありがとうございましたが、明らかに私は十分に明確ではありませんでした:私は、私が使用するポート 別のコンピュータ上で知ることができますどのように求めている、とその時 を含める代わりに、2266本2256のポートこと?

+0

が起源 – Developer

答えて

1

ポート番号がちょうどツーリング(VS)、それは簡単にあなたがローカルでデバッグするために作る(localhost)である - それはすべてあなたの地元に住んでランダムポート番号を割り当てることによって、あなたのウェブサイトのそれぞれを「分離」 'localhost'(別名「ドメイン」)下のマシン。

ローカルマシンで使用されている他のサービス/既存のポート(以下を参照)と競合しないことを確認して、自分自身に割り当てることができます(VSが割り当てたものを変更することもできます)。

"私の友人でこれを共有する"

それが何を意味するのかわかりません。 localhost上記のように(ライブ/生産)ネット上に仮定し、localです - あなたは(サーバー/ IISの設定で)ポート番号を割り当てそして - あなたはどのように外部の「友人は」缶「を指示する」ので、それはあなた APIですアクセス/接続。

警告:標準ポート(80、443、20、21、22とは別に、生産/ライブインターネットで、(地元のものより制限されている)だけで、ローカル環境にいるかのように、前述したように

、25など)、ファイアウォール、使用するポート(他の既存のサービスと競合する)などの問題に遭遇する可能性があります。これは幅広い話題であり、正直なところ、それらが完全に別個のアプリケーション(見かけどおり)であれば、ライブで同じことをする方がよいでしょう。サブドメイン - www.foo.com(MVC)api.foo.com(API)としない手動全く( - 80httpsため443httpのデフォルトが適用される)ポート番号を割り当てる扱います。

Hth。

0

カンマで複数の起源を分離することができます:

[EnableCors(origins: "http://localhost:2256,http://localhost:2266", headers: "*", methods: "*")] 

MSDNから:

パラメータ起源タイプ:に許可されている起源 の可能System.Stringカンマ区切りリストリソースにアクセスします。すべてを許可するには "*"を使用してください。

0

Web APIアプリケーションホスティングに使用しているポートは、コンピュータの外部にはアクセスできず、Visual Studioを閉じて開いてWeb APIを再度実行すると変更される可能性があります。

ローカルマシン上のドメイン名(「apionlocal.com」など)を使用してWeb APIをホストし、ローカルマシン上にホストエントリを作成することをお勧めします。

ホストエントリは、コマンドプロンプトで「IPCONFIG」コマンドを実行することにより、コンピュータのnetrowk IPを取得し、あなたの友人とそれを共有127.0.0.1 apionlocal.com

ようになります。

あなたの友人は、自分のマシンのIPアドレスを自分のマシンに入力する必要があります。

ホストエントリが<<your computer IP>> apionlocal.com

あなたの友人のようになりますがドメイン名「apionlocal.com」を使用してAPIを呼び出す必要があります。

"EnableCors"で複数の起点をカンマ区切りの値で設定できます。

EnableCors(origins: "http://localhost:2256,<<Url of your friend's application>>", headers: "*", methods: "*")] 
+0

注意を分離するコンマで複数の値を与える:あなたが作っているの前提 - 'ipconfig'は - 同じローカル(サブ)ネット内の「友人」となっていますか?もしそうでなければ、公的にルート可能なIPかどうか?はいの場合:IISを実行しているローカルマシンが外部通信用に構成されていますか?そうでない場合は、先に述べたIISチェックのチェックに加えて、さらに多くのことを行う。 – EdSF

+0

はい私は両方のコンピュータが同じネットワークにあると仮定している。そうでない場合は、確かに行うべきことがたくさんあります。 –

関連する問題