471,078 Members | 801 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,078 software developers and data experts.

FileIOPermission Erro using referenced dll on shared hosting

Hello

I get this error when trying to create a file:

Exception Details: System.Security.SecurityException: Request for the
permission of type 'System.Security.Permissions.FileIOPermission,
mscorlib, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089' failed.

The code that causes this error is in a seperate dll (in the bin
directory) to the webapp that is referenced and called to do various
things by the main web apps.

Exactly the same code works on other non-shared servers but on my new
hosting companies shared servers it errors.

I did have to remove one line of the web config:

<identity impersonate="false"/>

Otherwise the website would not even run complaining about not being
able to override the web hosts default value for this.

Ive checked the file is within the applications directory and have
tested creating the same file from a normal aspx page in the webapp and
that works fine so its specifically from the referenced dll.

Ive tried running the same code under .net 1.1 and .net 2. .net1.1
complains when creating the file, .net 2.0 complains when creating the
directory for the new file.

Anyone got any ideas? Id like to try it under full trust but my host
won't let me even to test if this is the issue.

Brian Norman

May 30 '06 #1
4 1755
Brian this seems like an permission issue. ASPNET account doesn't seem
to be having a write permission for that specific directory. You need
to increase the access right to the directory in order to make this
work.

HTH

br***@norman.org wrote:
Hello

I get this error when trying to create a file:

Exception Details: System.Security.SecurityException: Request for the
permission of type 'System.Security.Permissions.FileIOPermission,
mscorlib, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089' failed.

The code that causes this error is in a seperate dll (in the bin
directory) to the webapp that is referenced and called to do various
things by the main web apps.

Exactly the same code works on other non-shared servers but on my new
hosting companies shared servers it errors.

I did have to remove one line of the web config:

<identity impersonate="false"/>

Otherwise the website would not even run complaining about not being
able to override the web hosts default value for this.

Ive checked the file is within the applications directory and have
tested creating the same file from a normal aspx page in the webapp and
that works fine so its specifically from the referenced dll.

Ive tried running the same code under .net 1.1 and .net 2. .net1.1
complains when creating the file, .net 2.0 complains when creating the
directory for the new file.

Anyone got any ideas? Id like to try it under full trust but my host
won't let me even to test if this is the issue.

Brian Norman


May 31 '06 #2
I can't reproduce the problem at the medium trust level. Might your hosting
provider be willing to share the details of the CAS permission grant for
your application? Is there anything about the DLL that might cause it to be
granted a different set of permissions than the rest of the application?
Also, could you please post the details of how you are attempting to create
the file as well as it's exact relative path within your application
directory?
<br***@norman.org> wrote in message
news:11**********************@j55g2000cwa.googlegr oups.com...
Hello

I get this error when trying to create a file:

Exception Details: System.Security.SecurityException: Request for the
permission of type 'System.Security.Permissions.FileIOPermission,
mscorlib, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089' failed.

The code that causes this error is in a seperate dll (in the bin
directory) to the webapp that is referenced and called to do various
things by the main web apps.

Exactly the same code works on other non-shared servers but on my new
hosting companies shared servers it errors.

I did have to remove one line of the web config:

<identity impersonate="false"/>

Otherwise the website would not even run complaining about not being
able to override the web hosts default value for this.

Ive checked the file is within the applications directory and have
tested creating the same file from a normal aspx page in the webapp and
that works fine so its specifically from the referenced dll.

Ive tried running the same code under .net 1.1 and .net 2. .net1.1
complains when creating the file, .net 2.0 complains when creating the
directory for the new file.

Anyone got any ideas? Id like to try it under full trust but my host
won't let me even to test if this is the issue.

Brian Norman

May 31 '06 #3
Ok stupid as the solution is here is what was happing

The code was for an open source wiki called perspective, which I guess
no one has ever used on shared hosting.

In one of the project function libraries the author was for some reason
creating directories using FileSystemObject using the
WindowsScriptingComponent via interop?

So I replaced this with the .net Directory.CreateDiretory and it all
worked.

I guess you cannot use WindowsScriptingComponent , or at least to write
directories, using medium trust.

Thanks for all your suggestions anyway
Brian

May 31 '06 #4
Calling into COM objects requires SecurityPermission\Unmanaged code, which
is not part of the medium trust level grant. It's a "dangerous" permission
that is not granted at any of the ASP.NET trust levels other than full
trust.
<br***@norman.org> wrote in message
news:11**********************@g10g2000cwb.googlegr oups.com...
Ok stupid as the solution is here is what was happing

The code was for an open source wiki called perspective, which I guess
no one has ever used on shared hosting.

In one of the project function libraries the author was for some reason
creating directories using FileSystemObject using the
WindowsScriptingComponent via interop?

So I replaced this with the .net Directory.CreateDiretory and it all
worked.

I guess you cannot use WindowsScriptingComponent , or at least to write
directories, using medium trust.

Thanks for all your suggestions anyway
Brian

May 31 '06 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

12 posts views Thread by Charlie | last post: by
6 posts views Thread by schaf | last post: by
4 posts views Thread by Tony Johansson | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.