|
Basic authentication over SSL with LiteHTTPS in the BasicHttpBinding
This sample project demonstrates how to (a) perform basic authentication over SSL with LiteHTTPS as transport, (b) use Fast Infoset as message encoding, and (c) configure
the BasicHttpBinding
in configuration. Uses WCF-Xtensions; you must add a reference to Noemax.WCFX.
Note that (i) LiteHTTPS does not require the use of a tool to configure a port with an X.509 certificate, and (ii) for this sample to work you must have an
appropriate X.509 certificate on both sides and make the necessary code changes to use this certificate.
| |
Client |
Server |
| Platform |
.NET Framework |
.NET Framework |
| Configuration |
In configuration |
In configuration |
| Binding |
BasicHttpBinding |
BasicHttpBinding |
| Content negotiation |
No |
No |
| Message encoding |
Fast Infoset requests |
Fast Infoset responses |
| Compression |
No |
No |
| Transport |
LiteHTTPS |
LiteHTTPS |
|

Binary data transmission to GlassFish using Fast Infoset and LiteHTTP
This sample project demonstrates how to (a) transmit binary data to an Oracle GlassFish server using Fast Infoset as message encoding, (b) use
LiteHTTP as transport, and (c)
configure a custom binding in a configuration file for the .NET client and in code for the .NET CF client. This sample exposes a single service which is
accessed by two different clients. Uses WCF-Xtensions; you must add a reference to Noemax.WCFX.
| |
Client A |
Client B |
Server |
| Platform |
.NET Framework |
.NET Compact Framework |
Oracle GlassFish |
| Configuration |
In configuration file |
In code |
|
| Binding |
CustomBinding |
CustomBinding |
|
| Content negotiation |
No |
No |
No |
| Message encoding |
Fast Infoset requests |
Fast Infoset requests |
Fast Infoset responses |
| Compression |
No |
No |
No |
| Transport |
LiteHTTP |
LiteHTTP |
HTTP |
|

Compare Noemax.GZip vs System.IO.Compression on .NET 4
This sample project demonstrates how to create a simple benchmark that compares the relative performance and compactness of the GZIP implementation available in the
Noemax.GZip namespace of DotNetCompression versus the one in the System.IO.Compression namespace of .NET 4. Uses DotNetCompression; you must add a reference to Noemax.GZip.
Note that for this benchmark to return meaningful results you must (i) build it in release mode, and (ii) run it outside Visual Studio.

Compare the performance and compactness of LZF3, LZF and GZIP
This sample project demonstrates how to create a simple benchmark that compares the relative performance and compactness of the LZF3, LZF and GZIP algorithms
when compressing a file. Uses DotNetCompression; you must add a reference to Noemax.GZip and Noemax.Lzf.
Note that for this benchmark to return meaningful results you must (i) build it in release mode, and (ii) run it outside Visual Studio.

Compare various Fast Infoset profiles and compression algorithms
This sample project provides a basis for creating your own benchmark that compares the relative performance and compactness of different Fast Infoset writer profiles in combination with
various compression algorithms. Uses FastInfoset.NET; you must add a reference to Noemax.FastInfoset.
Note that for this benchmark to return meaningful results you must (i) modify it to use real data, (ii) build it in release mode, and (iii) run it
outside Visual Studio.

Compress both requests and responses when size is above threshold
This sample project demonstrates how to (a) compress both requests and responses when their size exceeds a threshold, (b) use LiteHTTP as transport, (c) use Fast Infoset as message encoding, (d) use HTTP content negotiation and compression, and (e) configure a custom binding in a configuration file.
Uses WCF-Xtensions; you must add a reference to Noemax.WCFX.
| |
Client |
Server |
| Platform |
.NET Framework |
.NET Framework |
| Configuration |
In configuration file |
In configuration file |
| Binding |
CustomBinding |
CustomBinding |
| Content negotiation |
Yes |
Yes |
| Message encoding |
Fast Infoset requests (no negotiation) |
Fast Infoset responses |
| Compression |
Compressed requests, with threshold (optimistic) |
Compressed responses, with threshold |
| Transport |
LiteHTTP |
LiteHTTP |
|

Duplex communication with .NET CF using SOAP/TCP Duplex
This sample project demonstrates how to (a) perform duplex communication with a .NET CF client using SOAP/TCP Duplex as transport, (b) use Fast Infoset as message encoding, (c) use
message compression, and (d) configure a custom binding in code. Uses WCF-Xtensions; you must add a reference to Noemax.WCFX.
| |
Client |
Server |
| Platform |
.NET Compact Framework |
.NET Framework |
| Configuration |
In code |
In code |
| Binding |
CustomBinding |
CustomBinding |
| Content negotiation |
No |
No |
| Message encoding |
Fast Infoset requests & responses |
Fast Infoset responses & responses |
| Compression |
Compressed requests & responses |
Compressed responses & responses |
| Transport |
SOAP/TCP Duplex |
SOAP/TCP Duplex |
|

Duplex streaming with SOAP/TCP Duplex and message compression
This sample project demonstrates how to (a) perform duplex communication in streamed mode using SOAP/TCP Duplex as transport, (b) use
Fast Infoset as message encoding, (c) use message compression, and (d) configure a custom binding in code for the client and in a configuration
file for the server. Uses WCF-Xtensions; you must add a reference to Noemax.WCFX.
| |
Client |
Server |
| Platform |
.NET Framework |
.NET Framework |
| Configuration |
In code |
In configuration file |
| Binding |
CustomBinding |
CustomBinding |
| Content negotiation |
No |
No |
| Message encoding |
Fast Infoset requests & responses |
Fast Infoset requests & responses |
| Compression |
Compressed requests & responses |
Compressed requests & responses |
| Transport |
SOAP/TCP Duplex (streamed) |
SOAP/TCP Duplex (streamed) |
|

Duplex streaming with Windows security and transport compression
This sample project demonstrates how to (a) perform duplex communication in streamed mode using SOAP/TCP Duplex as transport, and
perform duplex communication in buffered mode using TCP as transport, (b) use the Windows stream security transport upgrade, (c) use transport
compression, (d) use Fast Infoset as message encoding, and (f) configure custom bindings in code. This sample exposes two services each of which is
accessed by a different client. Uses WCF-Xtensions; you must add a reference to Noemax.WCFX.
| |
Client |
Server |
| Platform |
.NET Framework |
.NET Framework |
| Configuration |
In code |
In code |
| Binding |
CustomBinding |
CustomBinding |
| Content negotiation |
No |
No |
| Message encoding |
Fast Infoset requests & responses |
Fast Infoset requests & responses |
| Compression |
Compressed requests & responses |
Compressed requests & responses |
| Transport A |
SOAP/TCP Duplex (streamed) |
SOAP/TCP Duplex (streamed) |
| Transport B |
TCP |
TCP |
|

Envelope behavior provides compression when message security is used
This sample project demonstrates how to (a) use the Envelope behavior to provide compression with message security, (b) use Fast
Infoset as message encoding, and (c) configure the WSHttpBinding in code. Uses WCF-Xtensions; you must add a reference to Noemax.WCFX.
Note that for this sample to work you must have an appropriate X.509 certificate on both sides and make the necessary code changes to use this certificate.
| |
Client |
Server |
| Platform |
.NET Framework |
.NET Framework |
| Configuration |
In code |
In code |
| Binding |
WSHttpBinding |
WSHttpBinding |
| Content negotiation |
No |
No |
| Message encoding |
Fast Infoset requests |
Fast Infoset responses |
| Compression |
Compressed requests |
Compressed responses |
| Transport |
HTTP |
HTTP |
|

Expose the WSDL with LiteHTTP in a custom binding in code
This sample project demonstrates how to (a) expose the service's WSDL when using LiteHTTP as transport, (b) use Fast Infoset as message encoding, (c) use HTTP content negotiation and compression,
(d) compress requests when their size exceeds a threshold, and (e) configure a custom binding in a configuration file for the client and in code for the
server. Uses WCF-Xtensions; you must add a reference to Noemax.WCFX.
| |
Client |
Server |
| Platform |
.NET Framework |
.NET Framework |
| Configuration |
In configuration file |
In code |
| Binding |
CustomBinding |
CustomBinding |
| Content negotiation |
Yes |
Yes |
| Message encoding |
Fast Infoset requests (no negotiation) |
Fast Infoset responses |
| Compression |
Compressed requests, with threshold (optimistic) |
Compressed responses |
| Transport |
LiteHTTP |
LiteHTTP |
|

Fast Infoset and HTTP compression between Silverlight 4 and IIS
This sample project demonstrates how to (a) use WCF-Xtensions components in a Silverlight application and in an IIS-hosted server, (b) use
LiteHTTP as transport, (c) use Fast Infoset as message encoding, (d) use the HTTP compression provided by LiteHTTP on the client, and use HTTP content
negotiation and compression on the server, and (e) configure a custom binding in code for the client and in
a configuration file for the server. Uses WCF-Xtensions; you must add a reference to Noemax.WCFX.
| |
Client |
Server |
| Platform |
Silverlight 4 |
.NET Framework4 (IIS-hosted) |
| Configuration |
In code |
In configuration file |
| Binding |
CustomBinding |
CustomBinding |
| Content negotiation |
Yes |
Yes |
| Message encoding |
Fast Infoset requests |
Fast Infoset responses |
| Compression |
Compressed requests |
Compressed responses |
| Transport |
LiteHTTP |
HTTP |
|

Fast Infoset and HTTP negotiation and compression with REST
This sample project demonstrates how to (a) inject WCF-Xtensions components into the WebHttpBinding for REST-based communication, (b) use Fast Infoset as message encoding on the client, and support both text XML
and Fast Infoset as message encodings on the server, (c) use HTTP content negotiation and compression, and (d) configure the WebHttpBinding in code for
the client and in
a configuration file for the server. Uses WCF-Xtensions; you must add a reference to Noemax.WCFX.
| |
Client |
Server |
| Platform |
.NET Framework |
.NET Framework |
| Configuration |
In code |
In configuration file |
| Binding |
WebHttpBinding |
WebHttpBinding |
| Content negotiation |
Yes |
Yes |
| Message encoding |
Fast Infoset requests (no negotiation) |
Fast Infoset responses |
| Compression |
Compressed requests (adaptive) |
Compressed responses |
| Transport |
HTTP |
HTTP |
|

Fast Infoset for cross-platform interoperability with Apache CXF
This sample project demonstrates how to (a) use Fast Infoset as message encoding for cross-platform communication between .NET and an Apache CXF server, and (d)
configure a custom binding in a configuration file. Uses WCF-Xtensions; you must add a reference to Noemax.WCFX.
| |
Client |
Server |
| Platform |
.NET Framework |
Apache CXF |
| Configuration |
In configuration file |
|
| Binding |
CustomBinding |
|
| Content negotiation |
No |
No |
| Message encoding |
Fast Infoset requests |
Fast Infoset responses |
| Compression |
No |
No |
| Transport |
HTTP |
HTTP |
|

Fast Infoset profile details specified in a configuration file
This sample project demonstrates how to (a) specify the Fast Infoset writer profile details in the configuration file of the server, (b) use LiteHTTP
as transport, (c) support both text XML and Fast Infoset as message encodings, (d) use HTTP content negotiation and compression, and (e) configure a custom
binding in a configuration file. Uses WCF-Xtensions; you must add a reference to Noemax.WCFX.
| |
Client |
Server |
| Platform |
.NET Framework |
.NET Framework |
| Configuration |
In configuration file |
In configuration file |
| Binding |
CustomBinding |
CustomBinding |
| Content negotiation |
Yes |
Yes |
| Message encoding |
Text XML requests (pessimistic) |
Fast Infoset responses |
| Compression |
Compressed requests (optimistic) |
Compressed responses |
| Transport |
LiteHTTP |
LiteHTTP |
|

Host a service in .NET CF by using LiteHTTP
This sample project demonstrates how to (a) host a service on .NET CF using LiteHTTP as transport, and consume it using a .NET CF client, (b) support both text XML
and Fast Infoset as message encodings, (c) use HTTP content negotiation and compression, and (d) configure a custom binding in code. Uses WCF-Xtensions;
you must add a reference to Noemax.WCFX.
| |
Client |
Server |
| Platform |
.NET Compact Framework |
.NET Compact Framework |
| Configuration |
In code |
In code |
| Binding |
CustomBinding |
CustomBinding |
| Content negotiation |
Yes |
Yes |
| Message encoding |
Text XML requests (pessimistic) |
Fast Infoset responses |
| Compression |
Compressed requests (optimistic) |
Compressed responses |
| Transport |
LiteHTTP |
LiteHTTP |
|

Host a service in .NET CF by using the BasicSoapTcpBinding in code
This sample project demonstrates how to (a) host a service on .NET CF using the BasicSoapTcpBinding, and consume it using a .NET CF client, (b)
use SOAP/TCP as transport, (c) use Fast Infoset as message encoding, and (d) configure the BasicSoapTcpBinding in code. Uses WCF-Xtensions; you must add
a reference to Noemax.WCFX.
| |
Client |
Server |
| Platform |
.NET Compact Framework |
.NET Compact Framework |
| Configuration |
In code |
In code |
| Binding |
BasicSoapTcpBinding |
BasicSoapTcpBinding |
| Content negotiation |
No |
No |
| Message encoding |
Fast Infoset requests |
Fast Infoset responses |
| Compression |
No |
No |
| Transport |
SOAP/TCP |
SOAP/TCP |
|

LiteHTTP in a .NET CF client proxy generated by NetCFSvcUtil.exe
This sample project demonstrates how to (a) inject WCF-Xtensions components into a .NET CF client proxy generated by NetCFSvcUtil.exe, (b) use LiteHTTP
as transport, (c) use Fast Infoset as message encoding on the client, and support both text XML
and Fast Infoset as message encodings on the server, (d) use HTTP content negotiation and compression, and (e) configure a custom binding in client proxy code and in
a configuration file for the server. Uses WCF-Xtensions; you must add a reference to Noemax.WCFX.
| |
Client |
Server |
| Platform |
.NET Compact Framework |
.NET Framework |
| Configuration |
In code |
In configuration file |
| Binding |
CustomBinding |
CustomBinding |
| Content negotiation |
Yes |
Yes |
| Message encoding |
Fast Infoset requests (no negotiation) |
Fast Infoset responses |
| Compression |
Uncompressed requests (pessimistic) |
Compressed responses |
| Transport |
LiteHTTP |
LiteHTTP |
|

Plug WCF-Xtensions in the BasicHttpBinding in a configuration file
This sample project demonstrates how to (a) plug WCF-Xtensions components in the configuration of the BasicHttpBinding in a configuration file, (b) use
LiteHTTP as transport, (c) support both text XML and Fast Infoset as message encodings, and (d) use HTTP content negotiation and compression. Uses
WCF-Xtensions; you must add a reference to Noemax.WCFX.
| |
Client |
Server |
| Platform |
.NET Framework |
.NET Framework |
| Configuration |
In configuration file |
In configuration file |
| Binding |
BasicHttpBinding |
BasicHttpBinding |
| Content negotiation |
Yes |
Yes |
| Message encoding |
Text XML requests (pessimistic) |
Fast Infoset responses |
| Compression |
Uncompressed requests (pessimistic) |
Compressed responses |
| Transport |
LiteHTTP |
LiteHTTP |
|

Plug WCF-Xtensions in the NetTcpBinding in a configuration file
This sample project demonstrates how to (a) plug WCF-Xtensions components in the configuration of the NetTcpBinding in a configuration file, (b)
perform duplex communication using SOAP/TCP Duplex as transport, (c) use Fast Infoset as message encoding, and (d) use message compression. Uses
WCF-Xtensions; you must add a reference to Noemax.WCFX.
| |
Client |
Server |
| Platform |
.NET Framework |
.NET Framework |
| Configuration |
In configuration file |
In configuration file |
| Binding |
NetTcpBinding |
NetTcpBinding |
| Content negotiation |
No |
No |
| Message encoding |
Fast Infoset requests & responses |
Fast Infoset requests & responses |
| Compression |
Compressed requests & responses |
Compresses responses & responses |
| Transport |
SOAP/TCP Duplex |
SOAP/TCP Duplex |
|

RESTful communication between .NET and Jersey hosted in Grizzly
This sample project demonstrates how to perform cross-platform communications between .NET and the Jersey RESTful framework hosted in Grizzly
when using (a)
Fast Infoset as message encoding, (b) HTTP content negotiation and compression, and (c) LiteHTTP as transport. Uses WCF-Xtensions; you must add a reference to Noemax.WCFX.
| |
Client |
Server |
| Platform |
.NET Framework |
Jersey (Grizzly-hosted) |
| Configuration |
In configuration file |
|
| Binding |
webHttpBinding |
|
| Content negotiation |
Yes |
No |
| Message encoding |
Fast Infoset requests (no negotiation) |
Fast Infoset responses |
| Compression |
Compressed requests (optimistic) |
No |
| Transport |
LiteHTTP |
HTTP |
|

SOAP/TCP in a .NET CF client proxy generated by NetCFSvcUtil.exe
This sample project demonstrates how to (a) inject WCF-Xtensions components into a .NET CF client proxy generated by NetCFSvcUtil.exe, (b) use
SOAP/TCP as transport, (c) use Fast Infoset as message encoding, (d) use message compression, and (e) configure a custom binding in client proxy code
and in a configuration file for the server. Uses WCF-Xtensions; you must add a reference to Noemax.WCFX.
| |
Client |
Server |
| Platform |
.NET Compact Framework |
.NET Framework |
| Configuration |
In code |
In configuration file |
| Binding |
CustomBinding |
CustomBinding |
| Content negotiation |
No |
No |
| Message encoding |
Fast Infoset requests |
Fast Infoset responses |
| Compression |
Compressed requests |
Compressed responses |
| Transport |
SOAP/TCP |
SOAP/TCP |
|

SOAP/TCP with Fast Infoset and compression in code
This sample project demonstrates how to (a) use SOAP/TCP as transport, (b) use Fast Infoset as message encoding, (c) use message compression, and
(d) configure a custom binding in code. Uses WCF-Xtensions; you must add a reference to Noemax.WCFX.
| |
Client |
Server |
| Platform |
.NET Framework |
.NET Framework |
| Configuration |
In configuration file |
In configuration file |
| Binding |
CustomBinding |
CustomBinding |
| Content negotiation |
No |
No |
| Message encoding |
Fast Infoset requests |
Fast Infoset responses |
| Compression |
Compressed requests |
Compressed responses |
| Transport |
SOAP/TCP |
SOAP/TCP |
|

Speed up LINQ over WCF with Fast Infoset, LZF3 and EnumerableStream
This sample project uses the Northwind database to demonstrate how to reduce the size and increase the performance of large LINQ queries over WCF by using (a) the
Fast Infoset message encoding, (b) HTTP content negotiation and compression using the LZF3 algorithm, and (c) the EnumerableStream behavior to serialize
the queries in streaming mode. The XBindingConfigurator and the XServiceHost are used to transparently configure the client's and the server's
BasicHttpBinding respectively. Uses WCF-Xtensions;
you must add a reference to Noemax.WCFX.
| |
Client |
Server |
| Platform |
.NET Framework |
.NET Framework |
| Configuration |
In configuration file |
In code |
| Binding |
BasicHttpBinding |
BasicHttpBinding |
| Content negotiation |
Yes |
Yes |
| Message encoding |
Fast Infoset requests (no negotiation) |
Fast Infoset responses |
| Compression |
Compressed requests (adaptive) |
Compressed responses |
| Transport |
HTTP |
HTTP |
|

Stream stream binary data efficiently using Fast Infoset over HTTP
This sample project demonstrates how to (a) stream binary data over HTTP using Fast Infoset as message encoding, and (b) configure a custom binding
in code for the client and in a configuration file for the server. Uses WCF-Xtensions; you must add a reference to Noemax.WCFX.
| |
Client |
Server |
| Platform |
.NET Framework |
.NET Framework |
| Configuration |
In code |
In configuration file |
| Binding |
CustomBinding |
CustomBinding |
| Content negotiation |
No |
No |
| Message encoding |
Fast Infoset requests |
Fast Infoset responses |
| Compression |
No |
No |
| Transport |
HTTP (streamed) |
HTTP (streamed) |
|

SSL security with LiteHTTPS in a custom binding in code
This sample project demonstrates how to (a) use SSL security with LiteHTTPS as transport, (b) use Fast Infoset as message encoding, and (c) configure a custom binding
in code. Uses WCF-Xtensions; you must add a reference to Noemax.WCFX.
Note that (i) LiteHTTPS does not require the use of a tool to configure a port with an X.509 certificate, and (ii) for this sample to work you must have an
appropriate X.509 certificate on both sides and make the necessary code changes to use this certificate.
| |
Client |
Server |
| Platform |
.NET Framework |
.NET Framework |
| Configuration |
In code |
In code |
| Binding |
CustomBinding |
CustomBinding |
| Content negotiation |
No |
No |
| Message encoding |
Fast Infoset requests |
Fast Infoset responses |
| Compression |
No |
No |
| Transport |
LiteHTTPS |
LiteHTTPS |
|

Transparent configuration using the XChannelFactory and XServiceHost
This sample project demonstrates the ease with which the XChannelFactory and XServiceHost can be used to transparently configure a binding with
(a) the Fast Infoset message encoding, and (b) HTTP content negotiation and compression or message compression or envelope behavior. Uses WCF-Xtensions;
you must add a reference to Noemax.WCFX.
In this sample the XChannelFactory and XServiceHost are used to configure the BasicHttpBinding with the necessary WCF-Xtensions components. Three
services are exposed, one self-hosted and two IIS-hosted.
- The client sends requests to the self-hosted service using Fast Infoset and LZF3 compression, and the server responds using Fast Infoset and LZF3 compression.
- The client sends requests to the first IIS-hosted service using Fast Infoset and GZIP compression, and the
server responds using Fast Infoset and GZIP compression.
- The client sends requests to the second IIS-hosted service using Fast Infoset and LZMA compression, and the server responds using
Fast Infoset and the envelope behavior with LZMA compression.
| |
Client |
Server A |
Server B |
| Platform |
.NET Framework |
.NET Framework |
.NET Framework (IIS-hosted) |
| Configuration |
In code |
In code |
In code |
| Binding |
BasicHttpBinding |
BasicHttpBinding |
BasicHttpBinding |
| Content negotiation |
Yes |
Yes |
Yes |
| Message encoding |
Fast Infoset requests |
Fast Infoset responses |
Fast Infoset responses |
| Compression |
Compresses requests (optimistic) |
Compressed responses |
Compressed responses |
| Transport |
HTTP |
HTTP |
HTTP |
|

Write/read compressed Fast Infoset documents using the XmlSerializer
This sample project demonstrates how to serialize an object into a compressed Fast Infoset document using the XmlSerializer. Uses FastInfoset.NET;
you must add a reference to Noemax.FastInfoset.

Write/read Fast Infoset documents using the DataContractSerializer
This sample project demonstrates how to serialize an object into a Fast Infoset document using the DataContractSerializer. Uses FastInfoset.NET;
you must add a reference to Noemax.FastInfoset.

|