Classic ASP for WCF using Service Moniker

I am trying to use WCF Logging Service from classic ASP without deploying Com wrapper. I found a way to do it here . Here is a simplified version of the vb script.

Dim addr
addr = "service:mexAddress=""net.pipe://localhost/Services/Logging/LoggingManager/Mex""," _
& "address=""net.pipe://localhost/Services/Logging/LoggingManager/classic/""," _
& "contract=""ILoggingManagerClassic"", contractNamespace=""http://Services.Logging.Classic/""," _
& "binding=""NetNamedPipeBinding_ILoggingManagerClassic"", bindingNamespace=""http://Services.Logging.Classic/"""

set objErrorLogger = GetObject(addr)
Dim strError : strError = objErrorLogger.LogError("blahblah")

      

This one works on Server 2008 , but fails on Server 2008 with this error .

Failed to do mex retrieval:Metadata contains a reference that cannot be resolved: net.pipe://localhost/Services/Logging/LoggingManager/Mex..

      

Only when run through ASP it fails , a sample VBS file on the same machine using the same code works fine.

I think it might have to do with permission, but don't know where to start. Does anyone have any idea?

EDIT - Let me clarify that the WCF host is a Windows service running as a NETWORK SERVICE.

If it is related to a server error, the moderator can move it. I also have an account.

+2


source to share


1 answer


You are using WCF web-based.

Windows 2003 does not support network channels.

Update:

Clean Pipe WCF uses Windows Activation Serices (WAS) which is included in Windows 2008

http://msdn.microsoft.com/en-us/magazine/cc163357.aspx



Clean pipes work on Windows 2003 but not on WCF networks

EDIT

Your comments are correct that when running WCF as a Windows service and not in IIS, it should work on winoline 2003.

Having said that, it should be associated with a call coming from an ASP website. One place to start is if there are any errors in your event log.

0


source







All Articles