2010-12-21 110 views
5

estoy usando C#/ASP.NET, IIS6 en Windows Server 2003.IIS mapa de directorio virtual a la unidad de red (con letra de unidad), pero no para crear el archivo

  1. Asignar el servidor de datos carpeta compartida a la WebServer con la letra de controlador V: \

  2. En el servidor web, IIS creó un directorio virtual y señaló a 'ubicación local' con V: \. Como no hay 'Connect As', no estoy seguro de qué USER se usará

  3. En mi WebMethod, quiero crear un archivo en la carpeta compartida con FileStream.Write().

    que tiene IO excepción de la acción, cualquier indicio?

P.S. He agregado ASPNET/NETWORK SERVICE en la carpeta compartida del servidor de datos.

gracias! Gavin

Respuesta

0

El sitio web en IIS tiene un grupo de aplicaciones correspondiente y esto debería indicarle al usuario con qué código se ejecutará. Tendrás que otorgar los permisos apropiados para ese recurso compartido para ese usuario.

+0

Servicio de red es el usuario que ejecuta el grupo de aplicaciones. He agregado este usuario en la carpeta compartida (una máquina remota). Pero todavía encontré el problema. – Gavin

9

Unidades de red asignadas son específicos de la cuenta de usuario que los creó:

Using Mapped Drives with IIS - MS KB257174

El método preferido de acceso al contenido para el servidor Web que existe en un equipo remoto es el uso de acciones que sigue la convención de nomenclatura universal (UNC).

Es muy probable que NETWORK SERVICE (o si se está ejecutando ASP.NET en la suplantación, el sitio cuenta anónima) no ha conseguido este mapeo.

Para cambiar la ubicación en la que señala el directorio virtual para, vaya a su sitio en el Administrador de IIS, haga clic en el directorio virtual y seleccione Propiedades. A continuación, puede seleccionar "Un recurso compartido en otro equipo":

alt text

Cuestiones relacionadas