It seems we share a similar philosophy. My SQL code is actually generated by the client. The server also generates its own SQL code, and does its own DB admin (create and drop tables, insert seed data and so on).
I think I need to look into TCP/IP sockets though. I have a very simple WCF service that accepts a byte array, and returns a byte array. No more, no less. The back-end deserializes the bytes and does what it needs to. WCF configuration is a Night! Mare! I think someone got completely spannered on the dependency injection koolaid. My service is a single method, and I spend more time babysitting XML in Web.Config than I do writing the service...
And yeah, with white space and comments my code base is around 120 LKOC. Just under 140 if I include the Windows Phone client.
Long ago I concluded that in tools,
ease of use was tools that were
reliable, did fairly simple things,
and were easy to understand how to
use and not tools that tried to do
a lot, do favors, anticipate what I wanted,
and do more for (to!) me!
So, in a kitchen, I don't want a hot dog
cooker and, instead, can, depending on
what I want, just use a pot and with
water and boil the hotdogs, use a skillet
with some oil and fry the hot dogs, or
go on the back porch, build a charcoal
fire, and broil the hotdogs. Besides, for
a hotdog cooker, how to clean the darned
thing! And have to get it out of storage,
set it up, etc. No thanks.
For cutting onions, use my best three tools
in a kitchen, a good French chef's knife,
a cutting board, and my hands. Works great
also for potatoes, carrots, cabbage, garlic,
and much more.
In a shop, have saws, hammers, files, wrenches,
screwdrivers, a drill plate, drill bits,
a nice, variables speed, reversible 3/8"
electric (not battery powered -- don't want
to mud wrestle with batteries that run down,
need charging, go dead, wear out, get weak, need to
be replaced, etc.) drill. Also
socket wrenches, etc. But lots of automatic
tools, e.g., a screwdriver that has a spiral
shaft that push on to turn a screw, don't want.
To sharpen a kitchen knife? Sure, just use
whatever grit size sand paper, usually
silicon carbide, want, put the paper flat
on the cutting board, and sharpen away.
Simple tools, that do simple things, and are
reliable and easy to understand. Then, build
more on those.
So, just use TCP/IP raw sockets and build more
on those.
For a session state server, use TCP/IP raw sockets,
de/serialization, and two collection classes.
Piece of cake, no use of CONFIG whatever, no
use of XML, only a few pages of documentation,
lots of good, old code samples, rock solidly
reliable ("TCP/IP sockets are the workhorse of
all of the Web and Internet")
etc. By far the
easy way.
I think I need to look into TCP/IP sockets though. I have a very simple WCF service that accepts a byte array, and returns a byte array. No more, no less. The back-end deserializes the bytes and does what it needs to. WCF configuration is a Night! Mare! I think someone got completely spannered on the dependency injection koolaid. My service is a single method, and I spend more time babysitting XML in Web.Config than I do writing the service...
And yeah, with white space and comments my code base is around 120 LKOC. Just under 140 if I include the Windows Phone client.