Mercurial > pub > bltoolkit
diff Demo/Linq/OverWCF/Program.cs @ 0:f990fcb411a9
Копия текущей версии из github
author | cin |
---|---|
date | Thu, 27 Mar 2014 21:46:09 +0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Demo/Linq/OverWCF/Program.cs Thu Mar 27 21:46:09 2014 +0400 @@ -0,0 +1,60 @@ +using System; +using System.Linq; +using System.ServiceModel; +using System.ServiceModel.Description; + +using BLToolkit.Data; +using BLToolkit.ServiceModel; + +namespace Linq.OverWCF +{ + class Program + { + static void Main() + { + DbManager.TurnTraceSwitchOn(); + + using (var host = new ServiceHost(new LinqService("Sql2008"), new Uri("net.tcp://localhost:1234"))) + { + host.Description.Behaviors.Add(new ServiceMetadataBehavior()); + host.Description.Behaviors.Find<ServiceDebugBehavior>().IncludeExceptionDetailInFaults = true; + host.AddServiceEndpoint(typeof(IMetadataExchange), MetadataExchangeBindings.CreateMexTcpBinding(), "mex"); + host.AddServiceEndpoint( + typeof(ILinqService), + new NetTcpBinding(SecurityMode.None) + { + MaxReceivedMessageSize = 10000000, + MaxBufferPoolSize = 10000000, + MaxBufferSize = 10000000, + CloseTimeout = new TimeSpan(00, 01, 00), + OpenTimeout = new TimeSpan(00, 01, 00), + ReceiveTimeout = new TimeSpan(00, 10, 00), + SendTimeout = new TimeSpan(00, 10, 00), + }, + "LinqOverWCF"); + + host.Open(); + + var client = new DataModel(); + + var q = + from p in client.Person + select new + { + p.PersonID, + p.FirstName, + p.MiddleName, + p.LastName, + p.Gender + }; + + foreach (var p in q) + Console.WriteLine(p); + + Console.ReadLine(); + + host.Close(); + } + } + } +}