2010-12-21 14 views
5

Używam C#/ASP.NET, IIS6 na Windows Server 2003.IIS wirtualny katalog mapę do jazdy (z literą dysku) sieci, ale nie powiedzie się utworzyć pliku

  1. mapie serwer danych do folderu udostępnionego Serwer sieci Web z literą sterownika V: \

  2. W WebServer IIS utworzył katalog wirtualny i wskazał "lokalną lokalizację" za pomocą V: \. Ponieważ nie ma opcji "Połącz jako", nie wiesz, który USER zostanie użyty:

  3. W moim WebMethod chcę utworzyć plik w udostępnionym folderze za pomocą FileStream.Write().

    Mam wyjątek IO na akcję, wszelkie podpowiedzi?

P.S. Dodałem ASPNET/NETWORK SERVICE na udostępnionym folderze serwera danych.

dziękuję! Gavin

Odpowiedz

0

Strona internetowa w IIS ma odpowiednią pulę aplikacji, a to powinno informować użytkownika, pod którym będzie uruchomiony twój kod. Będziesz musiał udzielić odpowiednich uprawnień dla tego udziału dla tego użytkownika.

+0

NETWORK SERVICE jest użytkownik uruchamiający pulę aplikacji. Dodałem tego użytkownika do udostępnionego folderu (komputera zdalnego). Ale wciąż napotykam problem. – Gavin

9

zmapowane dyski sieciowe są specyficzne dla konta użytkownika, który je stworzył:

Using Mapped Drives with IIS - MS KB257174

Preferowaną metodą uzyskiwania dostępu do zawartości na serwerze sieci Web, która istnieje na komputerze zdalnym jest użycie akcji, które postępuj zgodnie z uniwersalną konwencją nazewniczą (UNC).

Jest bardzo prawdopodobne, że NETWORK SERVICE (lub jeśli używasz ASP.NET pod personifikacji, strona anonimowe konto) nie dostał tego odwzorowania.

Aby zmienić lokalizację, do której wskazuje katalog wirtualny, przejdź do witryny w Menedżerze usług IIS, kliknij prawym przyciskiem myszy katalog wirtualny i wybierz właściwości. Następnie można wybrać „Udział znajdujący się na innym komputerze”:

alt text

Powiązane problemy