We are trying to run with rabbitmq instead of msmq, due to the size limit in msmq of 4mb per message.
But we have some problems.

1. We want the queues messages to be persistant(e.g - if rabbitmq service is stopped and restarted the messages will still be in queue). Is there any way to do this(e.g set deliverymode=2) in the app.config in <binding> or <endpoint> or somewhere else? 

2. We want durable queues. We found in this messagelist a post about that, and the trick was to change 
this on line 152 in rabbitmq.servicemodel.rabbitmqinputchannel
Before: string queue = m_model.QueueDeclare();
After: string queue = m_model.QueueDeclare(base.LocalAddress.Uri.AbsolutePath, true, false, false, null); 
...we then got durable queues. This couldnt be done in any other way?

3. We want the client(which in our case is a WCF-service) to post a message to the queue and then forget(and be sure that sometime in the future the message will be delivered), so we have oneway="true" in our app.configs. The consumer is also a WCF-service. 
If we stop the rabbitmq server, then our services get an error - like its always connected to RabbitMQ. 
Is there a way in the app.config to tell the services we have to only connect when messages is delivered or retrieved?

4. It seems that the messages isn't consumed one by one-it seems that it gets them all att once? Is there a way to tell service to fetch them one by one?

5. Please check our app.config below and if something needs to be changed we are very greatful for any input. For example, bigger messages(like 20mb) seem to not be consumed, just disapears from queue.

The clients app config:
<system.serviceModel>

    <!--Nedanstående behövs för att rabbitmq ska fungera-->
    <extensions>
      <bindingExtensions>
        <add
          name="rabbitMQBinding"
          type="RabbitMQ.ServiceModel.RabbitMQBindingSection, RabbitMQ.ServiceModel, Version=1.0.110.0, Culture=neutral, PublicKeyToken=null"/>
      </bindingExtensions>
    </extensions>


    <client>     

      <!--RabbitMq: Här är adressen, till kön på RabbitMQ, som vi ska koppla upp oss mot som klient-->
      <endpoint address="soap.amqp:///UpdateSparePartListQue"
                 binding="rabbitMQBinding"
                 behaviorConfiguration ="CabasUpdateSparePartListServiceBehavior"
                 bindingConfiguration="rabbitMQConfig"
                 contract="CabasUpdateSparePartListServiceReference.ICabasUpdateSparePartListService"
                 name="RabbitMQBinding_ICabasUpdateSparePartListService" 
                 />
    </client>

     <bindings>
      <!--RabbitMQ: Denna pekar ut rabbitmq servern. Intellisense fattar inte att tagen <rabbitMQBinding> är ok, men det är den -->
      <rabbitMQBinding>

        &lt;binding name=&quot;rabbitMQConfig&quot;
                   hostname=&quot;localhost&quot;
                   port=&quot;5672&quot;
                   protocolversion=&quot;AMQP_0_9_1&quot;
                   oneWay=&quot;true&quot;
                   maxmessagesize=&quot;2147483647&quot;                   
                  /&gt;
      </rabbitMQBinding>
    </bindings>

  </behaviors>
        <endpointBehaviors>
        <behavior name="CabasUpdateSparePartListServiceBehavior">
                  <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
        </behavior>
  </behaviors>
  </system.serviceModel>
--------------------------------------------------------
The consumers app.config:

 <system.serviceModel>

    <!--Nedanstående behövs för att rabbitmq ska fungera-->
    <extensions>
      <bindingExtensions>
        <add
          name="rabbitMQBinding"
          type="RabbitMQ.ServiceModel.RabbitMQBindingSection, RabbitMQ.ServiceModel, Version=1.0.110.0, Culture=neutral, PublicKeyToken=null"/>
      </bindingExtensions>
    </extensions>

 <bindings>

      <!--RabbitMQ: Denna pekar ut rabbitmq servern. Intellisense fattar inte att tagen <rabbitMQBinding> är ok, men det är den -->
      <rabbitMQBinding>

        &lt;binding name=&quot;rabbitMQConfig&quot;
                   hostname=&quot;localhost&quot;
                   port=&quot;5672&quot;
                   protocolversion=&quot;AMQP_0_9_1&quot;
                   oneWay=&quot;true&quot;
                   maxmessagesize=&quot;2147483647&quot;
                  /&gt;                           
      </rabbitMQBinding>
 </bindings>

<services>
          

      <service name="CAB.CABAS.UPDATE.SERVICES.Services.CabasUpdateSparePartListService" behaviorConfiguration="CAB.CABAS.UPDATE.SERVICES.Services.CabasUpdateSparePartListServiceBehavior">
        <host>
          <baseAddresses>
            <add baseAddress = "soap.amqp:///" />
            <add baseAddress="http://localhost:8632/CABAS/CabasUpdateSparePartListService" />
          </baseAddresses>
        </host>
        <endpoint
          address="UpdateSparePartListQue"
          binding="rabbitMQBinding"
          bindingConfiguration="rabbitMQConfig"
          contract="CAB.CABAS.UPDATE.SERVICES.Services.ICabasUpdateSparePartListService"/>
        <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration=""
        name="mexEndpoint" contract="CAB.CABAS.UPDATE.SERVICES.Services.ICabasUpdateSparePartListService" />
      </service>

</services>

<behaviors>
      <serviceBehaviors>

        <behavior name="CAB.CABAS.UPDATE.SERVICES.Services.CabasUpdateSparePartListServiceBehavior">
          <!-- To avoid disclosing metadata information, 
          set the value below to false and remove the metadata endpoint above before deployment -->
          <serviceMetadata httpGetEnabled="True"/>
          <!-- To receive exception details in faults for debugging purposes, 
          set the value below to true.  Set to false before deployment 
              to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="True"/>

          <dataContractSerializer maxItemsInObjectGraph="2147483647" />
        </behavior>
  </serviceBehaviors>
</behaviors>



        
        
        
<br/><hr align="left" width="300" />
View this message in context: <a href="http://rabbitmq.1065348.n5.nabble.com/WCF-net-problems-tp24561.html">WCF .net problems</a><br/>
Sent from the <a href="http://rabbitmq.1065348.n5.nabble.com/">RabbitMQ mailing list archive</a> at Nabble.com.<br/>