none
UnauthorizedAccessException - Acesso denegado a la ruta de acceso. RRS feed

  • Pregunta

  • En mi aplicacion genero cartas en formato word y pdf... Primero copio mi plantilla de word en otra ubicacion y ahi relleno mi plantilla con los datos del usuario ... guardo el documento word y despues lo convierto en pdf y tambien lo guardo en mi carpeta. Eso normal lo realizo de manera local pero cuando lo ejecuto desde el servidor tambien me funciona pero solo dura 1 dia .. al dia siguiente ya no se puede generar las cartas y me sale este error...

    Este es codigo donde copio la plantilla la relleno, la guardo y la convierto en pdf

    Protected Sub btninsertar_Click(sender As Object, e As EventArgs) Handles btninsertar.Click 
            Dim filename As String = annomes & "_" & lblescuela.Text & "_" & idPracti & "_" & "CPR" & ".docx"
            Dim filename1 As String = annomes & "_" & lblescuela.Text & "_" & idPracti & "_" & "CPR"
            System.IO.File.Copy("\\192.168.1.206\docsopp$\Documentos\CartadePresentacion.docx", "\\192.168.1.206\docsopp$\CartasPresentacion\" & filename, True)
    
            Dim destino As String = System.IO.Path.Combine("\\192.168.1.206\docsopp$\CartasPresentacion\", filename)
            Dim MSWord As New Word.Application
            Dim Documento As New Document
    
            If File.Exists(destino) Then
                Documento = MSWord.Documents.Open(destino)
            Else
                ScriptManager.RegisterStartupScript(Me, Me.GetType(), "popup", "alert('Ocurrio un error, contactese con el personal para mas informacion')", True)
            End If
    
            Documento.Bookmarks.Item("anioFile").Range.Text = Year(fechaRelle)
    
    
            Documento.Bookmarks.Item("gradoContactoDeparEmpre").Range.Text = "Señor(a):"
            Documento.Bookmarks.Item("datosContacto").Range.Text = Datosrepre
            Documento.Bookmarks.Item("cargoContactoDeparEmpre").Range.Text = UCase(cargoRepre)
    
            Documento.Bookmarks.Item("nombreEmpre").Range.Text = UCase(razonSoEmpre)
    
    
            If ddlprov.SelectedValue = "1201" Then
                Documento.Bookmarks.Item("ubicacion").Range.Text = "Presente"
            End If
    
            If SexoAlumno = "0" Then
                Documento.Bookmarks.Item("sexoAlum").Range.Text = "a la Srta"
                Documento.Bookmarks.Item("sexoAlum2").Range.Text = "identificada"
            Else
                Documento.Bookmarks.Item("sexoAlum").Range.Text = "al Sr"
                Documento.Bookmarks.Item("sexoAlum2").Range.Text = "identificado"
            End If
    
            Documento.Bookmarks.Item("datosAlum").Range.Text = Datosalumno
            Documento.Bookmarks.Item("nombreFacul").Range.Text = FacultadAlumno
            Documento.Bookmarks.Item("ciclo").Range.Text = "estudiante del " & txtNivelAcademico.Text & " " + "ciclo"
            Documento.Bookmarks.Item("modalidad").Range.Text = txtmodalidad.Text
            Documento.Bookmarks.Item("nombreEscu").Range.Text = lblnescuela.Text
            Documento.Bookmarks.Item("codiAlum").Range.Text = idAlum
    
            Documento.Save()
            Documento.Close()
            MSWord.Quit()
         
    	AQUI SE CONVIERTE EL DOC WORD A PDF
    
            
            Dim newApp As New Word.Application()
            Dim Source As Object = "\\192.168.1.206\docsopp$\CartasPresentacion\" & filename
            Dim Target As Object = "\\192.168.1.206\docsopp$\CartasPresentacion\" & filename1 & ".pdf"
            Dim Unknown As Object = Type.Missing
            newApp.Documents.Open(Source, Unknown, Unknown, Unknown, Unknown, Unknown, Unknown, Unknown, Unknown, Unknown, Unknown, Unknown, Unknown, Unknown, Unknown)
            Dim format As Object = Word.WdSaveFormat.wdFormatPDF
            newApp.ActiveDocument.SaveAs(Target, format, Unknown, Unknown, Unknown, Unknown, Unknown, Unknown, Unknown, Unknown, Unknown, Unknown, Unknown, Unknown, Unknown, Unknown)
            newApp.Quit(Unknown, Unknown, Unknown)
    End Sub

    lunes, 23 de marzo de 2015 17:27

Respuestas

  • hola

    recuerda que el sitio ejecuta con un usuario especifico del proceso definido en el Application Pool, tienes dos caminos

    cambias el usuario del application pool  imagen

    o puedes impersonar el usuario en el web.config definiendo el <identity impersonate="true" userName="..." password=".." />

    de sta forma puedes definir un usuario que tenga accso a esa carpeta compartida

    ---

    tambien podrias poner como acceso de lectura a everyone en esa carpeta compartida ais tienes acceso sin importar con que usuario este ejecutando el processo en el IIS

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta fredsale martes, 24 de marzo de 2015 6:52
    lunes, 23 de marzo de 2015 19:05