ELMAH does not work after moving to a new server - elmah

I made a complete copy of the old web application.
Copied it to the new server.
Made appropriate SQL Server changes and it does not work.
ELMAH Version: v1.0.3705
OS: Windows Server 2012
IIS 8

I believe I found your answer. You need to grant your IIS AppPool permission to modify (or write) to the path you have instructed ELMAH to write the XML. To do this, bring up Windows File Explorer, locate the path and folder where ELMAH is writing those XML, right click to get folder menu and select properties, locate and click on the tab labeled SECURITY, and follow the instructions described in this URL:
http://www.iis.net/learn/manage/configuring-security/application-pool-identities

Related

404 On existing .svc file

I have an IIS site on a Windows 2012 R2 server. The site has an Application inside it:
The URL for this site is setup on our Active Directive servers as it is only accessible internally from our company. The URL follows the following structure:
http://NAMEoftheSERVICE.myCompanyServices.myCompany.local
The service for this site is placed in an internal folder:
http://NAMEoftheSERVICE.myCompanyServices.myCompany.local/InternalFolder/Service.svc
I have placed a number of test files both at the root level and in the internal folder:
http://NAMEoftheSERVICE.myCompanyServices.myCompany.local/HelloWorld.html
http://NAMEoftheSERVICE.myCompanyServices.myCompany.local/InternalFolder/HelloWorld.html
I can browse these files without any problems. However, I cannot browse the service at http://NAMEoftheSERVICE.myCompanyServices.myCompany.local/InternalFolder/Service.svc
The browser returns
However the file is there, and I have made sure there are no typos in the URL I put in the browser.
I have looked at similar questions but there seems not to be anything like the problem I am experiencing. The only question that looked promising was:
WCF service file not visible
But the answer for that post does not apply to my issue as I already have the configuration mentioned in that post setup as it is suggested.
I have checked the IIS-level config files for any exclusion regarding .svc files or anything similar, but could not find anyhting.
Have you got any suggestions on where to look at to solve this issue?
Solution: Install HTTP Activation feature
After running some more testing on other sites on the same server, I actually realised that the issue was specific to .svc files. I therefore made another search on Google and found that the server was missing the "HTTP Activation" feature (part of the WCF Services).
So, if you are having the same issue on .svc files follow the following steps to make sure you have the right components installed on the server:
Open Server Manager
In Server Manager, click the Manage menu, and then click Add Roles
and Features
In the Add Roles and Features wizard, click Next. Select the
installation type and click Next. Select the destination server and
click Next.
Skip the Server Roles page.
On the Select features page, expand ".Net Framework 4.5 Features",
expand "WCF Services" and select "HTTP Activation". Click Next.
On the Confirm installation selections page, click Install.
On the Results page, click Close.
The same can be achieved by running the following Powershell command:
Install-WindowsFeature -Name NET-WCF-HTTP-Activation45
This did the trick for me. I hope it can be of help to someone.

Sitecore icons corrupted on install

I'm getting the following error in the Sitecore editor when I go to Configure > Icons and attempt to click "More Icons":
Access to the path 'C:\inetpub\wwwroot\MyWebSite\temp\icons_Applications.html' is denied.
What would be the easiest way to sync the icons on the web site with the installation package, without having to start over and re-install the site?
It seems that perhaps the app pool of your IIS site doesn't have rights to create temp files which is where the icons are placed after you first open them. Sitecore uses the Website\temp\IconCache folder to store the icons. Make sure your app pool for the IIS site has the right privileges per the installation guide, in this case it looks like write access is not fully granted.
The default IIS App Pool identity would be either Network Service or ApplicationPoolIdentity. Make sure that user has write NTFS permission for the \Website root folder of your instance.

How to publish a Web Service from Visual Studio into IIS?

I have written a WCF web service in C#. I had originally self-hosted it and then decided to host it on IIS running locally on my PC. While the service is working, there are several aspects of the deployment process that I don't understand:
Firstly, the URL of this service when hosted in IIS does not correspond to what I specified in my web.config. I had specified "http://localhost:8000/MyServices/OrderService" there and this was used when I self-hosted. Now that I've deployed to IIS, the URL has become "http://localhost/MyServices/OrderService". Why is the URL not picked up from my config file?
Secondly, to host the Web Service, I created a new web site within IIS (in addition to the existing 'Default Web Site'). I set the physical path to c:\inetpub\wwwroot (no idea if this is correct) and left the other parameters as default. I then copied my /bin folder, my .svc file and my web.config to this folder. Is this the equivalent of a 'Virtual Directory'?
Finally, the service didn't work until (within IIS) I selected 'Convert to application'. Why is it necessary to select 'Convert to application'?
Can anyone explain what the correct procedure is to publish a simple web service from Visual Studio into IIS, or point me at some good documentation so I can understand the process?
****EDIT TO ORIGINAL*****
Having spent more time looking into this, I have found the following:
When I create a web site in IIS, I give it a physical directory of c:\inetpub\wwwroot....etc
If I then "publish" from within Visual studio, all it's doing is copying all the required filed (like the /bin directory, web.config and .svc file) into the physical directory of the website i.e. - c:\inetpub\wwwroot...
You can perform the copy manually to the same affect.
Lastly, with regard to the URL of my service not corresponding to the baseAddress section of my web.config file, this has been answered on stackoverflow previously.
The answer is that the baseAddress is completely ignored when hosting on IIS.
If using Visual Studio 2010 you can right-click on the project for the service, and select properties. Then select the Web tab. Under the Servers section you can configure the URL. There is also a button to create the virtual directory.

Coldfusion 9 installation problem with IIS7

Windows web server 2008 R2 64 bit, CF9 64 bit, IIS7, ISAPI extensions and filters and II6 metabase compatability installed. OS is on C default, and trying to install CF to D:
Testing IIS and it shows index.html correctly from c:\inetpub\wwwroot at http://localhost/index.html
Then I install CF to D:\ , single standard server licence, select run with all IIS sites, select C:\inetpub\wwwroot as the web root for administrator, and when it gets to the bit where it is supposed to open up administrator to complete the installation it opens up the browser with a 500 error.
Now when I go back to http://localhost/index.html I also get a 500 error, if i uninstall CF I can again reach the html page.
CFIDE has been installed in C:\inetpub\wwwroot presumably correctly. Can anyone tell me where I'm going wrong please.
Update
The exact IIS error is
HTTP Error 500.0 - Internal Server Error
The page cannot be displayed because an internal server error has occurred.
Module IsapiModule
Notification ExecuteRequestHandler
Handler AboMapperCustom-28262
Error Code 0x800700c1
Requested URL http://127.0.0.1:80/test.htm
Physical Path C:\inetpub\wwwroot\test.htm
Logon Method Anonymous
Logon User Anonymous
Resolves as below
There is a setting Enable 32-Bit Applications under Application Pool>Advanced settings. Set this to True and you will gain access to your CFIDE>Administrator page.
I would suggest first trying a restart. It is one of those things that after the fact sounds so obvious, but you never think of it. I know I have had problems with installing CF under IIS and had to restart the server to get it running.
I'm humiliated to admit it, but the problem was that what I thought was the cf9 64 bit installer, was the 32 bit one.
# Dave and # CfSimplicity many thanks for your help and in particular the IIS user account stuff was new learning for me.
Try checking the file system permissions for this folder:
D:\ColdFusion9\runtime\lib\wsconfig
The account that IIS uses needs Read, Execute and Modify permissions on this folder and below.
It might be because of two problems.
1) you haven't installed CGI, ISAPI extensions and ISAPI filters aren't installed yet in Web Server (IIS) of Server manager.
Window 2008 R2 with Coldfusion
2) you need to enable 32 bit application at IIS7.
Internal 500 error CF9 on Window 2008
I tried a different approach with my Windows 7 Home Premium - See http://coldfusioner.blogspot.com/2011/12/fix-number-1-installing-64-bit.html
It seems that I was successful by using the IIS Connector batch scripts manually and then to create a second default web site after installing the handlers. My article link above shows the steps I took - a very raw article and will likely be refined as I hear from others how they adapted my approach. The important thing is that this worked ;>) I hope it helps others...
The problem could be that your Application Pool that is part of your default website. It is possible to set it to run 32 bit applications. Try setting the Enable32bit to false in the defaultapppool of your IIS server, restart the app pool and your www service itself. Then try to use the ColdFusion wsconfig tool to add the IIS mapping. It should work even without the cf 9 updater 1 being installed on the server.
​To avoid a 500 error when accessing the Administration console for the first time when installaing ColdFusion 9 on a Windows 2008 server with IIS 7.5 installed, include the "IIS_IUSRS" user group with "Full Control" to the \Lib\wsconfig folder in Enterprise server or \runtime\lib\wsconfig folder in Standard server. Before starting the ColdFusion install, make sure the "IIS 6 Management Compatibility" functions are installed, especially the "IIS 6 Metabase Compatibility" function.
Assuming that you use the default installation paths (C:\JRun4 for Enterprise or C:\ColdFusion9 for Standard), here is a step-by-step approach:
Begin the ColdFusion installer as an Administrator. At the completion of the initial installation process, but before accessing the online Administration console, do the following:
1.) At the Start Menu, select "Computer"
2.) In the Enterprise install, go to C:\JRun4\lib. For the Standard install, go to C:\ColdFusion9\runtime\lib.
3.) Right-click "wsconfig" and select "Properties" to open the wsconfig properties dialog box.
4.) Click the "Security" tab.
5.) Click "Edit" to change permissions for that folder.
6.) Click "Add..." to add a new user/group.
7.) Enter "IIS_IUSRS" in the Object name field and click OK to return to the Permissions dialog box.
8.) In the permissions dialog box, ensure that the "IIS_IUSRS" group is highlighted and click "Full Control" in the "Allow" column, then click "OK" to close the dialog box. Ensure that the permissions change will affect all files and folders under wsconfig.
9.) Click "OK" to close the wsconfig properties box.
Return to the ColdFusion installer wizard and continue the installation by clicking the open ColdFusion Administrator link. If the settings are correct, after a minute or two, a web browser with the ColdFusion Administrator Console should appear so you can complete the installation.

Where to place clientaccesspolicy.xml in Netbeans Webservice project?

I develop a Webservice using Netbeans 6.9 and I use an embedded glassfish server to deploy my Webservice (http://some_domain/project_name/ws_for_sl4). On a different server there is deployed a Silverlight 4 client, which should have accesss to the Webservice.
I know that I have to have clientaccesspolicy.xml (under http://some_domain/project_name) however I do not know how to do it. I mean, I do not know in which folder of the netbeans project I need to put clientaccesspolicy.xml to have it automaticly deployed on an embedded glassfish server. To have my SL4 client using the webservice.
Solution:
- put clientaccesspolity.xml and crossdomain.xml under /Web Pages*
- open Project Properties (click right mouse button on a project root), go to Run, and delete a value of "Context Path".
Now your WS will be deployed directly under some_domain as it is required by SL4 (SL4 is looking for these files under the domain name.). SL4 will have no problem to access clientaccesspolity.xml and crossdomain.xml.
In case anyone doesn't like moving their webservice to "root", and instead prefers to have it in http://localhost:8080/aDifferentLocation/MyActualWebService, then placing those XMLs in the project Web Pages folder doesn't cut it.
http://localhost:8080/aDifferentLocation/clientaccesspolicy.xml
and
http://localhost:8080/aDifferentLocation/crossdomain.xml
would not work, as they need to be in
http://localhost:8080/clientaccesspolicy.xml
and
http://localhost:8080/crossdomain.xml
To achieve this, you must track down the folder where your GlassFish server is installed, let's call it [GlassFishInstallPATH] and paste the XMLs into the subfolder called docroot:
[GlassFishInstallPATH]/domains/domain1/docroot/ <--here go the XMLs.
(source)
In case you're wondering how you would do the same thing in Eclipse, you must track down the ROOT folder in your Eclipse J2EE workspace:
C:\Eclipse_j2ee_workspaces\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\ROOT/ <-- the XMLs go here.