Question

Hosting the WCF services via a host exe on Windows 8.1 I am getting an AppContainer related error. I cannot find any good documentation on the methods on the top of the stack trace. Kind of grasping at straws here.

"System.ComponentModel.Win32Exception (0x80004005): Access is denied\r\n\r\nServer stack trace: \r\n
at System.ServiceModel.Channels.AppContainerInfo.GetCurrentProcessToken()\r\n
at System.ServiceModel.Channels.AppContainerInfo.RunningInAppContainer()\r\n
at System.ServiceModel.Channels.AppContainerInfo.get_IsRunningInAppContainer()\r\n
at System.ServiceModel.Channels.PipeSharedMemory.BuildPipeName(String pipeGuid)\r\n
at System.ServiceModel.Channels.PipeSharedMemory.get_PipeName()\r\n
at System.ServiceModel.Channels.PipeSharedMemory.GetPipeName(AppContainerInfo appInfo)\r\n
at System.ServiceModel.Channels.PipeConnectionInitiator.GetPipeName(Uri uri, IPipeTransportFactorySettings transportFactorySettings)\r\n
at System.ServiceModel.Channels.NamedPipeConnectionPoolRegistry.NamedPipeConnectionPool.GetPoolKey(EndpointAddress address, Uri via)\r\n
at System.ServiceModel.Channels.CommunicationPool`2.TakeConnection(EndpointAddress address, Uri via, TimeSpan timeout, TKey& key)\r\n
at System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(TimeSpan timeout)\r\n
at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(TimeSpan timeout)\r\n
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)\r\n
at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)\r\n
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)\r\n
at System.ServiceModel.Channels.ServiceChannel.CallOpenOnce.System.ServiceModel.Channels.ServiceChannel.ICallOnce.Call(ServiceChannel channel, TimeSpan timeout)\r\n
at System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce(TimeSpan timeout, CallOnceManager cascade)\r\n
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)\r\n
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)\r\n
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)\r\n\r\n Exception rethrown at [0]: \r\n at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)\r\n
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)\r\n
at IAuthenticationService.AuthTempTokens(TokenSet tokens, CAMSSystem systemId, String accountId, String ipAddress, String uniqueId)\r\n
at login_Default.AuthenticateAndRedirect() in c:\Source\RiverTam\Source\Systems\Web\PMI\PMI\Default.aspx.cs:line 167"

Was it helpful?

Solution 2

So the IIS site was configured to impersonate and that user did not have rights! Spotted the user using Process Monitor. Not surprisingly removing following line allowed things to work as my user, an administrator, has rights just fine.

<system.web>    
    <identity impersonate="true" username="user" password="password" />
</system.web>

OTHER TIPS

It looks like you're attempting to use a named pipe binding and you can't use named pipes in a WinRT based application.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top