2013-09-03 22 views
5

Mam usługę sieci web wcf wdrożoną w usługach IIS 7. Gdy wystąpi błąd, muszę zarejestrować komunikat, który spowodował błąd. Dziennik musi być utworzony w udziale sieciowym, w którym programiści mają dostęp do udziału (ponieważ nie mamy dostępu do serwera, na którym usługa jest wdrożona). Katalog wirtualny został utworzony w IIS, którego ścieżka fizyczna znajduje się w udziale sieciowym.Jak odzyskać fizyczną ścieżkę do katalogu wirtualnego

Jak uzyskać fizyczną ścieżkę katalogu wirtualnego? Próbowałem już używać tego obiektu, ale to właśnie zwraca fizyczną ścieżkę na serwerze, na którym znajduje się usługa.

Na przykład, jeśli katalog wirtualny jest "WSLogs" i daję virtualDirectoryPath jako "~/WSLogs" będzie wrócę C: \ inetpub \ wwwroot \ myServiceDirectory \ WSLogs \

+0

by upewnić się, Rozumiem, że chcesz uzyskać ścieżkę sieciową katalogu wirtualnego, a NIE fizyczną ścieżkę na serwerze? –

+0

W IIS katalog wirtualny ma fizyczną ścieżkę ustawioną do fizycznej ścieżki w sieci (folder udostępniania). Chcę uzyskać tę ścieżkę folderu udziału. – knightscharge

Odpowiedz

9

katalog wirtualny został stworzony na tym samym poziomie (w obszarze Domyślny węzeł witryny sieci Web) jako usługa internetowa. Po przeprowadzce katalog wirtualny znajdować się pod samego węzła usług internetowych, udało mi się dostać fizyczną ścieżkę do katalogu wirtualnego przy użyciu:

System.Web.Hosting.HostingEnvironment.MapPath(virtualDirectoryPath) 

gdzie virtualDirectoryPath jest ~/WSLogs

+0

Awesome! Uratuj mój dzień ... dzięki –

Powiązane problemy