Code posted below ( I am not sure which group to post to, but I need help)

I wrote a Windows Form Application to query the IIS MimeMap on the localhost
which worked fine.

I ran the same code in asp.net and got "Access is Denied" exception.

What is the least permissions set I should grant the aspnet account to avoid
the exception.
Or any other suggest would be fine

Thanks.

Private Function CacheMimeMaps() As Specialized.StringDictionary

#If DEBUG Then

Dim starttime As DateTime = DateTime.Now

#End If

Dim entry As DirectoryServices.DirectoryEntry

Try

Dim mimeMaps As New Specialized.StringDictionary

entry = New DirectoryServices.DirectoryEntry("IIS://localhost/MimeMap")

Dim pvcMimeMap As DirectoryServices.PropertyValueCollection =
entry.Properties("MimeMap")

For Each o As Object In pvcMimeMap

Dim mt As IISOle.IISMimeType = CType(o, IISOle.IISMimeType)

mimeMaps.Add(mt.Extension, mt.MimeType)

#If DEBUG Then

Console.WriteLine("{0} = {1}", mt.Extension, mt.MimeType)

#End If

Next

' MimeMaps were found

If mimeMaps.Count > 0 Then

Me.Cache.Add(MIMEMAP, mimeMaps, Nothing, Cache.NoAbsoluteExpiration,
Cache.NoSlidingExpiration, Caching.CacheItemPriority.Low, Nothing)

Return mimeMaps

End If

pvcMimeMap = Nothing

Catch ex As Exception ' do nothing

Stop

Finally

#If DEBUG Then

Dim endtime As DateTime = DateTime.Now

Console.WriteLine(starttime.ToString() & "." &
starttime.Millisecond.ToString())

Console.WriteLine(endtime.ToString() & "." & endtime.Millisecond.ToString())

#End If

If (Not entry Is Nothing) Then

entry.Close()

entry.Dispose()

End If

End Try

End Function

Re: Querying IISMimeMap .. Access is denied .. HELP! by Egbert

Egbert
Thu Jul 22 13:07:42 CDT 2004

Access is denied because only admins can run that code.
By default, your code runs under a process for IIS that has no
administrative rights.

--
compatible web farm Session replacement for Asp and Asp.Net
http://www.nieropwebconsult.nl/asp_session_manager.htm

"Marlon" <mreid@exhibitworks.com> wrote in message
news:%23Nv%231RAcEHA.3480@TK2MSFTNGP11.phx.gbl...
> Code posted below ( I am not sure which group to post to, but I need
> help)
>
> I wrote a Windows Form Application to query the IIS MimeMap on the
> localhost
> which worked fine.
>
> I ran the same code in asp.net and got "Access is Denied" exception.
>
> What is the least permissions set I should grant the aspnet account to
> avoid
> the exception.
> Or any other suggest would be fine
>
> Thanks.
>
> Private Function CacheMimeMaps() As Specialized.StringDictionary
>
> #If DEBUG Then
>
> Dim starttime As DateTime = DateTime.Now
>
> #End If
>
> Dim entry As DirectoryServices.DirectoryEntry
>
> Try
>
> Dim mimeMaps As New Specialized.StringDictionary
>
> entry = New DirectoryServices.DirectoryEntry("IIS://localhost/MimeMap")
>
> Dim pvcMimeMap As DirectoryServices.PropertyValueCollection =
> entry.Properties("MimeMap")
>
> For Each o As Object In pvcMimeMap
>
> Dim mt As IISOle.IISMimeType = CType(o, IISOle.IISMimeType)
>
> mimeMaps.Add(mt.Extension, mt.MimeType)
>
> #If DEBUG Then
>
> Console.WriteLine("{0} = {1}", mt.Extension, mt.MimeType)
>
> #End If
>
> Next
>
> ' MimeMaps were found
>
> If mimeMaps.Count > 0 Then
>
> Me.Cache.Add(MIMEMAP, mimeMaps, Nothing, Cache.NoAbsoluteExpiration,
> Cache.NoSlidingExpiration, Caching.CacheItemPriority.Low, Nothing)
>
> Return mimeMaps
>
> End If
>
> pvcMimeMap = Nothing
>
> Catch ex As Exception ' do nothing
>
> Stop
>
> Finally
>
> #If DEBUG Then
>
> Dim endtime As DateTime = DateTime.Now
>
> Console.WriteLine(starttime.ToString() & "." &
> starttime.Millisecond.ToString())
>
> Console.WriteLine(endtime.ToString() & "." &
> endtime.Millisecond.ToString())
>
> #End If
>
> If (Not entry Is Nothing) Then
>
> entry.Close()
>
> entry.Dispose()
>
> End If
>
> End Try
>
> End Function
>
>
>
>


Re: Querying IISMimeMap .. Access is denied .. HELP! by Roger

Roger
Thu Jul 22 13:24:46 CDT 2004

You can try to work with Impersonation
http://support.microsoft.com/default.aspx?scid=kb;en-us;306158

Regards
Roger


"Marlon" <mreid@exhibitworks.com> wrote in message
news:%23Nv%231RAcEHA.3480@TK2MSFTNGP11.phx.gbl...
> Code posted below ( I am not sure which group to post to, but I need
help)
>
> I wrote a Windows Form Application to query the IIS MimeMap on the
localhost
> which worked fine.
>
> I ran the same code in asp.net and got "Access is Denied" exception.
>
> What is the least permissions set I should grant the aspnet account to
avoid
> the exception.
> Or any other suggest would be fine
>
> Thanks.
>
> Private Function CacheMimeMaps() As Specialized.StringDictionary
>
> #If DEBUG Then
>
> Dim starttime As DateTime = DateTime.Now
>
> #End If
>
> Dim entry As DirectoryServices.DirectoryEntry
>
> Try
>
> Dim mimeMaps As New Specialized.StringDictionary
>
> entry = New DirectoryServices.DirectoryEntry("IIS://localhost/MimeMap")
>
> Dim pvcMimeMap As DirectoryServices.PropertyValueCollection =
> entry.Properties("MimeMap")
>
> For Each o As Object In pvcMimeMap
>
> Dim mt As IISOle.IISMimeType = CType(o, IISOle.IISMimeType)
>
> mimeMaps.Add(mt.Extension, mt.MimeType)
>
> #If DEBUG Then
>
> Console.WriteLine("{0} = {1}", mt.Extension, mt.MimeType)
>
> #End If
>
> Next
>
> ' MimeMaps were found
>
> If mimeMaps.Count > 0 Then
>
> Me.Cache.Add(MIMEMAP, mimeMaps, Nothing, Cache.NoAbsoluteExpiration,
> Cache.NoSlidingExpiration, Caching.CacheItemPriority.Low, Nothing)
>
> Return mimeMaps
>
> End If
>
> pvcMimeMap = Nothing
>
> Catch ex As Exception ' do nothing
>
> Stop
>
> Finally
>
> #If DEBUG Then
>
> Dim endtime As DateTime = DateTime.Now
>
> Console.WriteLine(starttime.ToString() & "." &
> starttime.Millisecond.ToString())
>
> Console.WriteLine(endtime.ToString() & "." &
endtime.Millisecond.ToString())
>
> #End If
>
> If (Not entry Is Nothing) Then
>
> entry.Close()
>
> entry.Dispose()
>
> End If
>
> End Try
>
> End Function
>
>
>
>