I am trying to generate a rdlc report and save it as pdf. It works perfectly fine on the localhost but after deploying it on the server after successfully generation of some files it stops randomly with below exception
System.UnauthorizedAccessException
Access to the path 'C:\Windows\TEMP\expression_host_791eafe958ba48999639e489485a25c1.dll' is denied.
I have tried giving full access to IUSR, IIS_IUSRS, IIS APPPOOL\MyPOOL, NetworkService and even disposing my localreport and setting permissions, example code below:
using (var lr = new LocalReport())
{
PermissionSet permissions = new PermissionSet(PermissionState.None);
permissions.AddPermission(new FileIOPermission(PermissionState.Unrestricted));
permissions.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution));
lr.SetBasePermissionsForSandboxAppDomain(permissions);
I even restarted the server, recycled app pool and also tried resetting IIS by aspnet_regiis -i
Nothing worked till now. Any help would be really appreciated.
This mostly an IIS issue.
Change the AppPool's Identity to LocalSystem, you shouldn't get the errors
I had the same scenario you described "It works perfectly fine on the localhost but after deploying it on the server...". What worked for me was:
1- check the new directory where the .rdlc file is located on the server. Get the full path
2- make sure the file and directory are the same in your code (and you're not pointing to the same old location, localhost)
Related
Deployed MVC5 app manually (ie all source code) to IIS directory (c:\inetpub\wwwroot....) Win Server 2016, IIS 10.
The website runs fine. I found a bug. I fixed it and copied the fixed class file to the correct location in c:\inetpub\wwwroot.... Then I start/stop the website. But, the website still shows the "older" behavior. I verified the class file (.cs) was updated with the correct, tested, fix. I even ran Chrome in incognito mode.
Any suggestions? Is this a caching issue on the server?
Thanks!
Since you were copying just .cs file to c:\inetpub\wwwroot those changes will not be picked automatically. You need to copy updated binaries i.e. bin folder and its contents to c:\inetpub\wwwroot.
I've just started to work on a MVC project. It's a web portal. I've set my sites on my local IIS 6.0
But when I want to start debugging, I get this error:
Unable to start debugging on the web server. The debugger cannot
connect to the remote computer. The debugger was unable to resolve the
specified computer name.
I don't understand that when I want to debug my project locally, what "Remote computer" it's talking about??!!
Please help me guys, this is my first task in this company and I have to overcome this error.
Check all the steps outlined here: https://msdn.microsoft.com/en-us/library/dwesw3ee.aspx?f=255&MSPPError=-2147217396
If you're using a hosts file, make sure you have an entry for the site in question. That was the problem for me, when I encountered this message.
I have similar problem.
My first solution delete url site from iis repositories and project properties write localhost and port number if is it. And debug began working without restart. I also think, may be if add new url in windows host file this can fix this trouble but may be need restat iis or visual studio.
IIS
Project properties
I had created a web application and committed the code in CVS. The web application is working good in my machine. When i tried to import the same code in another machine i am getting 404 error. I tried importing the code via ftp from my machine to another machine and also checking out the code from CVS. But still i get 404 error.
I also noticed that there is no error that had been captured in the console or in the application's log. Could someone help me in how to proceed further in identifying the issue. Please let me know if i need to post any further details regarding the issue.
I notice this issue to be in the Websphere server. I tried hosting the application in different machine and found that in few machine the same code is working good and some it is not. Is there any way to compare the server configuration?
In the WAS server 6.1 i added the below value in the web container and the application worked fine.
Steps:
In the server admin console, click on Application Server--> --> Web container--> custom properties.
Add the name as com.ibm.ws.webcontainer.invokefilterscompatibility and value as true.
Thank you all for the response.
I've been working for a client's website over the past year. I usually test things locally and then deploy straight to the production website. This has caused us some issues lately so I thought I should create a test/staging environment in which we could thoroughly test new features before pushing them into production.
Anyway, we have a VPS hosting account. I usually use remote desktop to manage the website in IIS. So in order to create a test environment, I copy pasted the folder of the production website inside the same directory (so they are both at the same level) and changed the name of the folder. Then I created a new website in IIS and mapped the physical path to the httpdocs folder inside the copied folder. After that, I setup a new application pool which basically has the same settings of the production website's application pool. I also changed the connection string of the test website.
But then when I tried to view the test website, it did not work the way I expected it to do. I keep getting &ReturnUrl=%2f appended to the query string, and the website is stripped out of its styles (the CSS). I remember this used to happen before when we were still using a shared hosting account, but I have no idea how to fix that.
I really do not know what's wrong. I basically have the same exact setup except I'm using a different port and a different database. I even tried running the test website with the application pool of the production website, but that did not work either...
Any suggestions?
looks like permission problem to me, check if your user has correct privileges in the new folder/app pool :)
We use MVC controllers that access System.File.IO in our application and they work fine in localhost (IIS 6.0-based Cassini). Deploying to IIS7, we have problems getting the controllers to work because they throw UnauthorizedAccessExceptions.
We have done the following to try to resolve the issue:
- Set NETWORK SERVICE and IUSR accounts to have permission on the files and folders in question
- Ensured the App Pool is running under NETWORK SERVICE and loading the user profile
- Application is running under full trust
- We tried adding impersonation to web.config and giving NETWORK SERVICE write permissions (which was not a great idea because that's not what we want to do)
Now, we alternate between getting UnauthorizedAccessException and an IIS7 404 page that suggests the routes are being ignored completely (for example we serve "/favicon.ico" via a controller when the physical file actually lives at /content/images/favicon.ico). We used ProcessMonitor to try to track down the issue but weren't successful.
UPDATE:
This issue is intermittent. We had a brief few minutes where everything worked without making any configuration changes. We're running on EC2, so this could be related to a distributed file system. We're also using a separate drive to store all web site data, we're not using inetpub/wwwroot.
UPDATE 2:
The site works without incident under IIS 7.5, with no configuration changes needed but this is likely due to running with the new AppPoolIdentity. Otherwise it's an identical deployment. Unfortunately we can't run R2 on this EC2 instance.
One of the ways to identifying the cause is using Procmon tool from Sysinternals
Procmon will show the reason for unable to open the file , it will also show who is holding the file.
The issue turned out to be the controller factory we were using not handling file requests properly.