2017-06-13 14 views
1

Windows認証ユーザーが、接続されている仮想ディレクトリをブラウズし、そこでホストされているファイルを表示および選択できるようにする必要があるDotnet Core Webアプリケーションを構築しています。Dotnet CoreからIIS仮想ディレクトリにアクセスする

Dotnet Coreアプリケーションが仮想ディレクトリにアクセスする方法はありますか?それを避けるためには、通常のDotnetアプリケーションでそれを行う方法はありますか?

+2

[IISのASP.NETコアアプリケーションの内部の仮想ディレクトリ](https://stackoverflow.com/questions/36030121/virtual-directory-inside-of-asp-net-core-app-in- iis) – natemcmaster

+0

ありがとう、みんな。私はそれが私に必要な響きの "いいえ"を与えたと思う。 – BenWurth

答えて

2

これは可能です。私はこのことを2週間働いていて、答えを得るためにどこにでもいました。ここで私がそれをした方法があります。

あなたはこの作業を行う方法Startup.cs

app.UseFileServer(new FileServerOptions 
{ 
    PhysicalFileProvider("\\\\virtualPath\\photos\\wait\\"), 
    RequestPath = new PathString("/AROULETTE"), 
    EnableDirectoryBrowsing = true 
}); 

の設定方法では()のconfigure app.UseFileServerに追加する必要がありますか? 設定方法は、http://localhost:5000/AROULETTE と入力すると、ブラウザのPhysicalFileProviderで提供される仮想パスが開きます。もちろん、これは私が実際に望んでいたものではありません。

私はディレクトリを作成し、C#でファイルを仮想ディレクトリにコピーする必要がありました。 FileServerのセットアップが完了したら、私はこのようなものを試しましたが、うまくいきませんでした。当然の

if(!Directory.Exists("/AROULETTE/20170814")) 
{ 
    Directory.Create("/AROULETTE/20170814") 
} 

は、どちらもあなただけのフォルダの実際の仮想パスを使用して、代わりにこの

var path = Path.Combine("http://localhost:5000/", "AROULETTE/20170814") 
if(!Directory.Exists(path) 
{ 
    Directory.Create(path) 
} 

ありません。

if(!Directory.Exists("\\\\virtualPath\\photos\\wait\\20170814")) 
{ 
    Directory.Create("\\\\virtualPath\\photos\\wait\\20170814") 
} 

は、このようにUseFileServerは、アプリケーションと仮想フォルダ間の「橋」を作成するために、あなたはASP.Net 4.5

希望を持つ仮想ディレクトリを作成するのと同じ方法で使用され、これは一部の人を助けることができるので、この話題についての回答のほとんどは明確ではありませんでした。

関連する問題