Example #1
0
        bool ImportTcpPolicy(MetadataImporter importer, PolicyConversionContext context,
                             WS.Soap12Binding soap)
        {
            var assertions = context.GetBindingAssertions();

            var tcpTransport = new TcpTransportBindingElement();

            var transportPolicy = PolicyImportHelper.GetTransportBindingPolicy(assertions);

            if (transportPolicy != null)
            {
                if (!ImportTcpTransport(importer, context, transportPolicy))
                {
                    return(false);
                }
                if (!ImportTransport(importer, tcpTransport, transportPolicy))
                {
                    return(false);
                }
            }

            var streamed = PolicyImportHelper.GetStreamedMessageFramingPolicy(assertions);

            if (streamed != null)
            {
                tcpTransport.TransferMode = TransferMode.Streamed;
            }

            context.BindingElements.Add(tcpTransport);
            return(true);
        }
Example #2
0
        bool ImportHttpPolicy(MetadataImporter importer, PolicyConversionContext context,
                              WS.SoapBinding soap)
        {
            HttpTransportBindingElement httpTransport;
            var assertions      = context.GetBindingAssertions();
            var transportPolicy = PolicyImportHelper.GetTransportBindingPolicy(assertions);

            if (transportPolicy != null)
            {
                if (!ImportHttpTransport(importer, context, transportPolicy, out httpTransport))
                {
                    return(false);
                }
                if (!ImportTransport(importer, httpTransport, transportPolicy))
                {
                    return(false);
                }
            }
            else
            {
                httpTransport = new HttpTransportBindingElement();
            }

            if (!ImportHttpAuthScheme(importer, httpTransport, context))
            {
                return(false);
            }

            context.BindingElements.Add(httpTransport);
            return(true);
        }