Posts Tagged ‘WF’
About six months ago, I made the switch from developing with the .NET framework on Windows XP to Windows Vista (My main development rig runs Windows Vista Business 64-bit which is rock solid, I use Virtual PC 2007 SP1 to run virtual machines for development, testing, trials, etc. I even have a openSuse VM for Mono work!). I was flying high with Vista Service Pack 1 installed on the development VM until I hit the dreaded AddressAccessDeniedException -
Fortunately, this was not the first time I encountered this exception. In the first major project where I developed a workflow-driven business layer exposed with the WCF WorkflowServiceHost, I spent about three hours fighting with the exception during a deployment drill, until I hit the cause of the issue and found a solution. Digging deep to find a nice solution, I initially tried using httpcfg.exe as outlined in this MSDN article but soon gave up.
Fast forward to present - I am using a console application to host a workflow which is exposed to clients using a WCF WorkflowServiceHost. I use WSHttpContextBinding as the binding for the endpoint. The console application runs well within Visual Studio 2008 when I use a Windows XP Service Pack 3 VM for testing. I encounter the exception when I attempt to run the same console application in Vista. I turned off UAC (Yes, you may ask me why do I use Vista then!), restarted Visual Studio and it was all good. Next, I turned on UAC, right-click on the Visual Studio 2008 shortcut, and select “Run as administrator”. The console application runs fine without any exceptions! I coudn’t justify myself running Visual Studio with elevated permissions in Windows Vista without finding a way to add the reserved HTTP namespace to the group of users my logged in account belongs to.
I refreshed my memory of an excellent tool that I used the last time I encountered the same exception during the deployment drill on a server running Windows Server 2003. This tool is called HttpNamespaceManager, developed and shared by Paul. This tool can be used to manage HTTP namespaces. It provides a user interface that is simple and easy to follow. When adding a reserved HTTP namespace to the list, use the string http://+:9000/ (This is only an example; I was using http://localhost:9000 to host the workflow) in the “Enter URL” popup, followed by “BUILTIN\Users” in the “Permissions” popup – “Group or User Names” section. After entering the users group, turn on the “GenericExecute” option. Close all the pop-up windows and try running the application. The exception does not appear again.
In summary, there are two (nice) ways to resolve the exception -
- Run Visual Studio 2008 as administrator.
- Run the HttpNamespaceManager tool and the HTTP namespace the group of users your user account belongs to.
I had hoped that with Visual Studio 2008 SP1 this issue will have been resolved. However, this is not the case. I am guessing this is perhaps the a requirement for Visual Studio 2008 – not to allow the user to access reserved HTTP namespaces unless explicit permission is granted.
Have a nice day!
Earlier this week, Microsoft announced the RTM of Visual Studio 2008 Service Pack 1 & SQL Server 2008. These are available for MSDN subscribers for download. SQL Server 2008 evaluation versions are available for a 180 day trial (The SQL Express Edition is freely available for download). Service pack 1 for Visual Studio 2008 and the .NET framework 3.5 is available here.
Some caution while installing the Visual Studio 2008 SP1 if you had the SP1 Beta installed. A cleanup utility is available here which removes any Visual Studio KBs installed. The readme file has some detailed information about installing the service pack.
So, whats new in these releases?
SQL Server 2008 adds enhancements to the database engine, new T-SQL programmability features, enhancements to Integration Services, Reporting & Analysis services have been rewritten & no longer require IIS, Powershell is now integrated and entirely new management feature [Performance Studio] has been added to monitor speed and efficiency of databases. Microsoft has also announced the availability of Beta exams on SQL Server 2008 (I’ll post about these exams later).
.NET Framework 3.5 Enhancements Training Kit
The .NET framework 3.5 enhancements training kit contains material to help you understand and explore the new enhancements. This kit is available for download here. The kit is an enhacement to the very useful Visual Studio 2008 training kit.
I am excited like any other .NET developer about the release! I look forward to exploring the feature improvements and enhancements and blog about any interesting bits that I find useful to share.