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();
+			}
+		}
+	}
+}