私は2つのMVCアプリケーション(AdminとUser)を持っています。管理者は、ユーザーアプリケーションに表示される画像をアップロードします。画像のパスは、2つのアプリケーション間で共有されるdbに保存され、パスを使用して、ユーザーアプリケーションが画像を取得します。 Visual Studioの両方のアプリケーションがイメージフォルダにアクセスできるようにする方法と、サイトがサーバーにアップロードされたらどうすればよいですか?2つのMVCプロジェクト間で共通のイメージフォルダを共有する
答えて
これは実際には2つの別個の質問です:
プロダクションでフォルダを共有するにはどうすればよいですか?
サイトが同じサーバー上にある場合は、共有イメージを同じサーバー上のどこにでも置くことができます。それらが異なるサーバー上にある場合は、両方のサーバー上のネットワーク上の場所をイメージが配置されている場所にマップすることをお勧めします。どちらの場合でも、両方のサイトでIISで仮想ディレクトリを作成して、その共有場所を指定します。
開発中のフォルダ(Visual Studio)を共有するにはどうすればよいですか?
これは少し難解です。基本的には、プロダクションと同じ方法で処理する必要がありますが、IIS Expressは完全なIISほど透過的ではないという問題があります。私はVisual Studio 2012と2013で次のメソッドを使用しましたが、2015年に最後に試したときにもう機能しませんでした。それはしばらくされているように、今でも修正されているかもしれません。それにもかかわらず、これはあなたの唯一の選択肢です。
- ソリューションエクスプローラーペインでソリューションを右クリックし、
Add > New Website...
を選択します。 - 結果ウィンドウの
Browse...
ボタンをクリックします。 Local IIS
タブをクリックします。- 共有イメージディレクトリを利用したいリストの最初のサイトを探し、それをクリックして強調表示します。
- 次に、ウィンドウの右上に、星が付いたフォルダのようなアイコンをクリックします。 1秒以上マウスを置くと、「Create New Virtual Directory」と表示されます。
- "エイリアス名:"に、のパス部分の内容を入力します。たとえば、画像を
http://localhost:12345/SharedImages
に検索する場合は、SharedImages
と入力します。あなたが選択したものは、プロジェクト内の実際の既存のディレクトリではないことを確認してください。 - "Folder:"の場合、コンピュータ上の共有イメージが存在する物理ディレクトリを参照します。
Create IIS application
のチェックボックスをオフにします。OK
をクリックします。- 追加のサイトについては、手順4〜9を繰り返します。
- 前のウィンドウで
Cancel
をクリックします。 Add New Website Window
に再度Cancel
をクリックしてください。その時点で、(あなたが実際にこれはちょうどあなたがこの仮想ディレクトリを作成することができる場所にアクセスするための唯一の方法です。あなたのソリューションに新しいサイトを追加するつもりはない。)
、メインのVisual Studioウィンドウに戻ります。これはすべてIIS Expressで実行されたため、プロジェクト/ソリューションの違いは実際には気づかないでしょう。あなたのウェブサイトを閲覧し、仮想ディレクトリの下に画像をロードしようとする場合は、あなたがイメージが表示された場合、すべてが正常に動作している
http://localhost:12345/SharedImages/foo.jpg
:すなわち、ブラウザでそれを見ることができるはずです。
- ソリューションエクスプローラーペインでソリューションを右クリックし、
ユーザーのアプリケーションに完全なURLを指定すると、他の設定の必要がない画像が取得されます。しかし、両方のアプリが実行されていることを、あなたがPATHにファイルではない、完全なURLを提供していることを確認してください
[UPDATE] これは動作します:
Http://domain.com/folder/file.ext
これは動作しません。
D:\\Hosting\domain\folder\file.ext
btw、私は両方のアプリが同じサーバーまたは別のサーバーにある可能性があると考えました – Ziyad
- 1. 2つのMVCプロジェクト - 画像共有
- 2. 2つのMVCプロジェクト間で.AspNet.ApplicationCookieを共有
- 3. 複数のプロジェクト間で共通のファイルを共有する方法
- 4. gitの2つのプロジェクト間でコードを共有
- 5. 同じプロジェクト内の2つのアプリケーション間でDjangoユーザモデルを共有
- 6. 2つのコンテナ間でデータを共有
- 7. 2つのVM間でプロパティを共有
- 8. 2つのアプリケーション間でネイティブライブラリを共有
- 9. プロジェクト間でコードベースを共有
- 10. 2つのプロジェクト間でグローバル変数を共有
- 11. Symfony - sfDoctrineGuard - 2つのSymfonyプロジェクト間でモデルファイルを共有
- 12. Laravel。 2つのプロジェクトの共通キュー
- 13. 2つのコンテナ間での共有/ tmp
- 14. OrientDBは2つの共通データベースを共有します
- 15. 2つのプロジェクトの共有ライブラリ
- 16. 別のソリューション間で共通のオブジェクトを共有する方法
- 17. 異なるアクティビティタイプ間で共通の機能を共有する
- 18. テナント間の共通データを持つマルチテナント共有データベース
- 19. DelphiプロジェクトとC++プロジェクトの共通定義を共有
- 20. Nodejsマイクロサービスアーキテクチャーは共通のプロジェクトでモデルを共有します
- 21. Python:スクリプトのファミリー間で共通コードを共有する
- 22. 共有変数を使用して2つのプロジェクト(VB.NET)間でデータテーブルを共有する方法
- 23. プロジェクト間でASP.NET MVCパーシャルビューを共有する
- 24. リスト間の2つの共通要素
- 25. プロジェクト間でバーコードを共有する
- 26. Intellijプロジェクト間でモジュールを共有する
- 27. Maven:プロジェクト間でソースを共有する
- 28. Xamarin.iOS、異なるストーリーボードで2つのプロジェクト間でビューコントローラを共有する方法
- 29. 2つのWebサイトタイプのプロジェクト間でファイルを共有する方法
- 30. Visual Studioでのプロジェクト間の共有ファイル
Azureでブロブストレージを使用することをお勧めします。 –
これは良い解決策になりますが、OPはAzureを使用することについて言及しておらず、Azureを使用できないことがあります。 –