Hosting WCF Router in IIS

I took router sample and changed hosting environment from console to iis. I have problem runining it, when I try to test it from ie i receive folowing error: "

Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: Property 'routerBinding' is not a ConfigurationElement.
"

I suppose that problem is with bindingExtensions. Can someone help me, or provide the router sample hosted inside IIS

Thanks,

Indigo Cowboy



Answer this question

Hosting WCF Router in IIS

  • CaimbulLeFou

    Yes it is :(

    Indigo Cowboy


  • My_name_is_Mr_Tibs

    Can you please send me your repro code,my email id is madhup@microsoft.com



  • Manish Mishra

    Can you provide your web.config file

    Can you confirm that it still has a <system.serviceModel><extensions><bindingExtensions>...</></></> section in it

    Thanks,

    -mike


  • Kiet A. Quach

    Since we have not heard back, we're marking the post complete.

  • DVDMIAMI

    only for double check:

    - Is the router assembly under the yourVirtualDirectory\bin folder

    Roman



  • lenaserg

    I founded it. Ther error that I was receiving was

    WebHost failed to process request

    Sender Information: System.ServiceModel.Channels.HostedHttpModuleRequestAsyncResult/5644729

    Exception: System.ServiceModel.ServiceActivationException: Property 'routerBinding' is not a ConfigurationElement. (C:\Pexim\TFS\RevolutionWorkshop\Prototype\CapabilityServices\Channel\Source\ServiceHosts\Channel.WCF\web.config line 19) ---> System.Configuration.ConfigurationErrorsException: Property 'routerBinding' is not a ConfigurationElement. (C:\Pexim\TFS\RevolutionWorkshop\Prototype\CapabilityServices\Channel\Source\ServiceHosts\Channel.WCF\web.config line 19)

    at System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult)

    at System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject)

    at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)

    at System.Configuration.BaseConfigurationRecord.GetSection(String configKey, Boolean getLkg, Boolean checkPermission)

    at System.Configuration.BaseConfigurationRecord.GetSection(String configKey)

    at System.Web.Configuration.WebConfigurationManager.GetSection(String sectionName, String path)

    at System.ServiceModel.Configuration.ConfigurationStrings.GetSectionFromWebConfigurationManager(String sectionPath)

    at System.ServiceModel.Configuration.ConfigurationStrings.GetSection(String sectionPath)

    at System.ServiceModel.Configuration.ServicesSection.GetSection()

    at System.ServiceModel.Description.ConfigLoader.LookupService(String serviceConfigurationName)

    at System.ServiceModel.ServiceHostBase.ApplyConfiguration()

    at System.ServiceModel.ServiceHostBase.InitializeDescription()

    at System.ServiceModel.ServiceHost..ctor(Type serviceType, Uri[] baseAddresses)

    at System.ServiceModel.ServiceHostFactory.CreateServiceHost(Type serviceType, Uri[] baseAddresses)

    at System.ServiceModel.ServiceHostFactory.System.ServiceModel.IServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses)

    at System.ServiceModel.ServiceHostingEnvironment.HostingManager.CreateService(String processedVirtualPath)

    at System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(String processedVirtualPath)

    at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String processedVirtualPath)

    --- End of inner exception stack trace ---

    at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String processedVirtualPath)

    at System.ServiceModel.Channels.HostedHttpRequestAsyncResult.HandleRequest()

    at System.ServiceModel.Channels.HostedHttpRequestAsyncResult.BeginRequest()

    Process Name: w3wp

    Process ID: 1524

    For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

    But the actual problem was as you sugested, the name of the assembly that contains implementation of router. I had a reference to that assembly I had just to change the name inside the web.config. The error message is wrong.

    <extensions>

    <bindingExtensions>

    <add name="routerBinding" type="Microsoft.ServiceModel.Samples.RouterBindingSection, router" />

    </bindingExtensions>

    </extensions>

    Thanks,

    Indigo Cowboy


  • Participant

    Ok, I admit that I was fast with conclusions, I have a new problem. When I started router ( the same router from sample, only hosted inside iis) message sequence came to router with one message missing. First three messages are containing security context creation information, but the fourth message ( I tracked the same sample hosted in console, there are 4 messages) that contains concrete payload never arives. I do not receive any errors.

    Can someone help me, I can provide sample.

    Thanks,

    Indigo Cowboy


  • Hosting WCF Router in IIS