The most effective method will be to use the global.asax file, here is a basic example:
<script language="C#" runat="server">
protected void Application_BeginRequest(Object sender, EventArgs e) {
if (HttpContext.Current.Request.Url.ToString().ToLower().Contains("http://"))
{
HttpContext.Current.Response.Status = "301 Moved Permanently";
HttpContext.Current.Response.AddHeader("Location", Request.Url.ToString().ToLower().Replace("http://","https://"));
}
}
</script>
In some cases you may already have an application using the global.asax file, you can in many cases add the _BeginRequest function or adapt it if it already exists. For example add this after the <script runat="server"> tag but before any other code.
protected void Application_BeginRequest(object sender, EventArgs e) {
if (HttpContext.Current.Request.Url.ToString().ToLower().Contains("http://")) {
HttpContext.Current.Response.Status = "301 Moved Permanently";
HttpContext.Current.Response.AddHeader("Location", Request.Url.ToString().ToLower().Replace("http://","https://"));
}
In some cases this will throw and error, before sure to check the rest of the global.asax file for any other begin requests that may be conflicting. In some cases you may need to adapt the code to work in parallel with exiting code.
Most likly if you have a huge pagefile.sys file, you have a lot of ram as well. In this case assuming you have over 16GB of ram you really do not need the pagefile.sys but you may want it just in case.
If you have an SSD drive for your primary boot/OS drive then the pagefile can eat away at your available space.
Run "SystemPropertiesAdvanced.exe", click "settings" under performance section.
Select the "Advanced" tab and choose "Change" under the Virtual memory section.
If you have more than 16 GB of RAM you can select No paging file, however even with more than 16GB I like to specify at least 4096/4096 under custom size. After you choose your size click "set".
Thats it your done.
Optional, you can set the pagefile to be on a drive other than "C", pagefile is used when your system runs low on ram as backup RAM. This can be useful if you do a lot of photo or video editing. I like to set a pretty large pagefile on my raid 10 array.
Related Errors:
HTTP Error 401.3 Unauthorized
You do not have permission to view this directory or page because of the access control list (ACL) configuration or encryption settings for this resource on the Web server.
Simple to fix,
- Open IIS
- Select the main web tree or spacific website if its only one
- select authentication, then click edit on the right
- change it from spacific user to app pool identity
Done!
Error:
HTTP Error 505.19 Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.
Simple to fix,
Done!
NOTICE!! BACKUP DATABASE FILES BEFORE DOING THIS, DO IT AT YOUR OWN RISK!
I don't want anyone sending me hate mail because this did not work, however it does work (most of the time).
If you are getting these errors:
- cannot be opened due to inaccessible files or insufficient memory or disk space
- the log cannot be rebuilt because there were open transactions/users when the database was shutdown
- unable to open the physical file
- the system cannot find the file specified
- error 5120
- huge ldf file, restore from backup hangs at 100%
- HDD IO maxed out on ldf file during restore from .bak file
- how to restore just the mdf
If your getting errors like the above and have tried all other solutions, you can try the following. Be sure to make a backup of your .mdf / .bak file.
In my case I had a database that for some reason created a 600GB ldf file and corrupted itself. While attempting to restore from a backup it would say 100% completed but would continue to run for hours/days. If I stopped the process it would kill the database and not allow me to use it. Here is what needs to be done:
First restore from your .bak file if you have one.
Example code:
RESTORE
DATABASE [dbname] FROMDISK=N'DRIVE:\BACKUPDIR\BACKUPFILE.bak'WITHFILE= 1,NOUNLOAD,REPLACE,STATS=10
GO
in most cases this will fix your database, IF this backup hangs at 100% for too long you can do the following:
now using the resource monitor verify that the mdf file is done writing (VERY IMPORTANT) select disk sort by file, check to see that the disk is only read/write to the .ldf file and not the .mdf file. Once the system has stopped writing to the .mdf file do the following.
- stop mssql service
- go into the DATA folder and rename the dbname.mdf file to dbname.mdfx
- start the mssql service
- delete the database (IMPORTANT, UNCHECK option to delete backups)
- create new database with the same name and give proper user owner access
- stop the mssql service
- delete the dbname.mdf & dbname.ldf files
- rename the dbname.mdfx to dbname.mdf
- start the mssql service and wait a minute for the service to fully start before issuing the following command:
ALTER DATABASE dbname SETEMERGENCY;
GO
ALTER DATABASE dbname SET single_userWITHROLLBACKIMMEDIATE;
DBCC
checkdb('dbname', repair_allow_data_loss);
GO
GO
This issue now has a hotfix however, if you don't want to take a performance hit that this hotfix causes then you can simply do the following to solve the problem with pdf files and IIS 7.5
- Open "IIS Manager" on your server
- Select your service instace
- Select "MIME Types" under IIS
- Select ".pdf" then click "edit"
- Chenge the MIME type from "application/pdf" to "application/octet-stream"
This will cause the web server to treat the file as a download instead of a pdf application. From IE8 pdf files will open as normal, in firefox it will first download the file in full then open it.