Mike's Tech Notes for 1/17/2012

by mheydt 17. January 2012 19:00 >

Today I checked out the following sites and found them useful, so I thought I'd post about them for both my are your reference in the future...

A Developer's Introduction to Windows Workflow Foundation (WF) in .NET 4
Matt Milner, Pluralsight
developer's introduction windows workflow foundation wf net 4matt milner pluralsightnovember 2009updated release april 2010as software developers know writing applications challenging constantly looking tools frameworks simplify process help focus business challenges trying solve moved code machine languages such assembler higher level visual basic ease development remove lower concerns memory management increase productivity microsoft move allows common language runtime clr allocate cleanup unneeded objects handle low constructs pointers much complexity application lives logic processing goes behind scenes issues asynchronous parallel execution generally coordinating tasks respond user requests service quickly lead back down coding handles callbacks synchronization etc need same power flexibility declarative programming model internals interface presentation wpf provides framework building gives handling complex having manage freed more important aspects likewise complexities work set features improves developer declaring activities define control flow executing resulting definition short goal making productive easier change quicker implement executes workflows services persistence state bookmarking resumption thread agility enabling scale up out processes conceptual information build make recommend read way david chappell found additional resources section version microsoftâ® introduces significant amount previous versions technology shipped part fact team revisited core tooling re architected each one performance well address feedback garnered customer engagements changes made necessary provide best experience adopting enable continue strong foundational component introduce high here throughout paper topic depth treatment before understand backwards compatibility key new components primarily assemblies compatible complete backward migrate use name wf4 refer wf3 designersone visible areas improvement designer usability goals vs 2010 now supports ability larger without degradation designers based taking full advantage rich ui activity xaml look interact users design environment addition rehosting non view data flowin opaque clear concise scoping arguments variables concepts familiar both storage makes obvious expected inputs outputs given easily managed flowcharta called flowchart added possible closely resembles thought many analysts go through creating solutions designing therefore sense easy thinking planning already done enables returning steps splitting single condition switch case modelthe revamped simpler robust base type represents longer create workflowruntime invoke simply instance execute simplifying unit testing scenarios want trouble setting specific finally workflowâ becomes fully composition beside authoring communication wcf integrationthe benefits certainly apply consuming interactions great deal effort went enhancing integration between messaging message correlation improved hosting support along major start applying cover several around underpinnings walk few simple illustrate those relate structureactivities blocks ultimately derive terminology note composed together used top entry point another function programs â â example figure shows being built sequence â â â â â â â â â â writeline text hello â â â â â â â â â â â â â â â â â â â â â â â â â â world workflownotice 1â root style executed even property collection defined structure further child tree overall templates designerwf4 ships studio includes template defining two patterns sequential order received saved notifications sent â figure designthe introduced existing return working consider scenario involving input response provided program step prompt again involve something similar shown dowhile until met decision branchingthe works analyst represent original requirements described technical outcome matches originally workflowdata workflowsthe first people think critical drives collected stored during prime area consideration three regard expressions definitions storing passing manipulating †datavariables very imperative describe named location follow certain rules variable determine scope needs available class method different scopes collect feed scoped activitiesarguments dataarguments methods passed invoked argument window add configure referencing discuss next â in contains expression returns value options related rely edit representing literal values grid names reference emailresult emailaddress configuring activitiesexpressions acting dataexpressions operate places interested means conditions remember things derivative lt tresult gt meaning referring layer specialized include references table small sampling types including lambda expressionsnow covered true proposition test project assembly statements io file testmethod public testhelloworldstatic stringwriter writer console setout sequenceâ â â â â â â â â â â â â â new workflowinvoker assert istrue compare nworld getstringbuilder tostring incorrect written codethe inargument update pass updated testhelloworldvariables default greeting bill visualbasicvalue â â â â â â â â new gates variablesin declared within referenced alternatively initialize refers second concatenated syntax textual textwriter argumentswhile examples points feel comfortable drag onto surface expandable regions bottom solution choosing library displayed contain choose dragging category toolbox below connect knows path hovering over green circle see grab click drop appears 10 layoutonce place clicking button near list respectively sure quotes strings quoted 11 configured designerto enter evaluated resolved containing 12 output created instantiating compiled deriving testhelloflowchart twriter helloflow asserts omitted flowchartso far supply invoking receive completes select press delete instead except editor notice direction remain valid evaluate resolve fullgreeting returned calling 13 workflowin assign last amp concatenation dictionary object changing call 14 contained keyed idictionary results outvalue workflownow seen basics put guide tour included interesting focused palettewith expect expectation managing capabilities come form give quick ship idea functionality box primitives activitieswhen moving begin wondering manipulation nature find yourself needing properties commands items designed specifically mind â control container branching looping multiple time â the show compose 15 parallelforeach urls asynchronously rss specified iterate declares defines visualbasicsettings servicemodel syndication settings instances namespace resolution body takes activityaction mentioned custom actions delegateinargument delegateoutargument outargument activitiesthe 16 pattern waiting timeout manager approve request sending reminder arrived allotted causes repetition pick managerresponseâ delay triggers managerresponse flag break loop bookmarks bookmark mark resume later resumed particular waits resumes once arrives discussed shortly actively considered idle persisted durable store detail migrationfor interop play vital role reusing assets wraps surfaces 17 configuration corresponding allowing differentiate send retrieve target client profile appear configurationflowchart themselves statement real node desired semantics right middle activitiesone focuses tighter terms operations receiving messages actually slightly purpose operation adding consume metadata contract equivalent proxy searches hotel reservations 18 yields 19 servicecontract ihotelservice operationcontract hotelsearchresult searchhotels hotelsearchrequest requestdetails contractfigure activitymore exposed transactions error handlingwriting reliable systems difficult requires good job errors keep consistent exception modeled beyond consistency allow modelâ long running distributedâ coordination compensation confirmation trycatch catch exceptions occur 20 typed block providing access via left arises rethrow caught throwâ throw activitytransactions ensure lived transactionscope sort maintain atomic transaction compensate compensable 21 email completed occurs retract earlier activityas fundamental cases workflowswhen truly entire xml markup result tool reasons powerful 22 directly helloseq xmlns http schemas com netfx 2009 winfx 2006 members xamlthis generated previously involves creation hierarchy various entirely unlike serialize modeling end techniques representation deserialized workflowsin typical ways readâ deserialize content option straightforward load activityxamlservices static stream xamlreader represented simplest tests parameter pairs 23 loading retrieving mathwf mathxaml openread math var operand1 operand2 areequal loose argumentsnotice loaded still accept developed anywhere database sharepoint handed mechanism essentially act take lot host itself especially useful reduces setup exercise under workflowapplication safe run begins throws action events react aborted unhandled idled unloaded 24 flowchart1 delegate workflowapplicationcompletedeventargs instanceid workflowapplicationabortedeventargs reason onunhandledexception workflowapplicationunhandledexceptioneventargs â â â â â unhandledexception unhandledexceptionaction terminate actionsin notify differently administrators failures better lightweight enough hosted domain domains customized behaviors externalized extensions behavior extending extension aware tracking saving needed shipping sql server stores persistencein hold scripts windir v4 30319 en sqlworkflowinstancestoreschema procedures sqlworkflowinstancestorelogic sqlworkflowinstancestore 25 instancestore source sqlexpress integrated security instanceview createinstancehandle createworkflowownercommand timespan fromseconds 30 defaultinstanceowner instanceowner providerthere direct persist current affords author save registering persistableidle event indicate 26 notified theâ causing waie persistableidleaction unloading idlesonce unload freeing appropriate enumeration identifier turn asked 27 id resumebookmark readlinebookmark resuming workflowone relies heavily serializing maintaining lifetime reloaded applied supplied technique greater versioning smaller footprint trackingpersistence balance hosts fault tolerant deleted production currently doing gaining insight track happening compelling consists primary participants profiles queries activitystatequery identify states closed extract dataworkflowinstancequery eventscustomtrackingquery explicit calls usually activitiesas 28 trackingprofile workflowinstancequery extracted tracked simpleprofile â â â â â â â new activityname profilea participant responsible records emitted trackingparticipant 29 limited writes initialized consoletrackingparticipant protected override trackingrecord record activitystaterecord arecord null â â â â â â â â entered item foregroundcolor consolecolor cyan resetcolor participantwf etwtrackingparticipant etw enterprise trace tracing native os drivers kernel consumed upcoming appfabric migrating consumers consumer whatever prefer write whichever palette interacting collections subsystems databases servers getting started thing units combine coarse grained hierarchywhile classes hierarchyfor asynccodeactivity codeactivity nativeactivity generic variants declaratively four follows composing simplified perform schedule following sections general accomplish task designerwhen empty element presents helps populate actual directionality comprise notifymanager composes getmanager sendmail activitylibrary rename activity1 31 activitythis employee looks employee’s sends expanding entering required individual dialog employeename manager’s highlighting “mgremail” manageremail approach purely circumstances specify drive preferred derives implementation elements 32 func implementationâ â â getâ â â â â â â mgremail sequenceâ â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â toaddress mailbody contoso subject automated codenotice surprising additionally classesif accomplished gets invokemethod natural 33 smtpstatuscode codeactivitycontext context tryâ â â â â â â smtpclient smtpexception smtpex statuscode ok activitythere i've standard activitycontext detects assumes closes explained examine iterator number times iterations beginiteration initial iteration subsequent 34 manipulated requestediterations currentiteration nativeactivitycontext private scheduleactivity completioncallback childcomplete faultcallback childfaulted activityif activityexecutioncontext callback happens activityfaultcontext handled keeps bubbling 35 activityinstance nativeactivityfaultcontext ex handlefault callbackswhen ideally starting threads cause problems monitor determined disposing assume 36 loads signature iasyncresult endexecute sealed getfeed syndicationfeed uri feedurl beginexecute asynccodeactivitycontext asynccallback req httpwebrequest userstate begingetresponse webresponse wr endgetresponse localfeed xmlreader getresponsestream activitiesadditional conceptsnow touch briefly advanced issue 37 readline creates registers outstanding close signal bookmarkcallback inputtext createbookmark bookmarkresumed bk bookmarkanother feature authors concept describing fill relevant parts customize activityfunc alternatives validated properly checking constraining allowable require requiredargument attribute declaration involved validation constructor constraint constraints surfaced inspect validity 38 validates overriding cachemetadata addvalidationerror activitymetdata constraintarg vctx validationcontext cons argument1 argument2 handler assertvalidationâ â â â â â â â â â propertyname assertion bool constraintsactivity hand display interaction styling databinding controls displaying activitydesigner designersworkflowitempresenter activityworkflowitemspresenter activitiesexpressiontextbox editing argumentswf4 activitydesignerlibrary initially artifacts above laying representations modelitem abstraction surfacing workflowitempresenter iteractor 39 binding 40 sap customactivities iteratordesigner sapv border borderbrush midnightblue borderthickness cornerradius workflowitempresenterâ minheight 50 mode twoway hinttext designerfigure designerworkflowitemspresenter children orientation spacer connectors arrows 41 displays horizontal line customsequencedesigner stackpanel goldenrod workflowitemspresenter childactivities spacertemplate datatemplate rectangle height width â fill margin â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â itemspanel â â â â â â â â â â â â â â â â â â â â â itemspaneltemplate â â â â â â â â â â â â â â â â â â â â â â â â â vertical workflowitemspresenterfigure 42 designerfinally expressiontextbox intellisense 43 44 getmanagerdesigner sapc converters argumenttoexpressionconverterx argumenttoexpressionconverter uid swdv argumenttoexpressionconverter_1 columndefinitions columndefinition â â â â â â rowdefinitions rowdefinition textblock verticalalignment center â horizontalalignment column â â â â â â â â â â â â â converter staticresource â â â â â converterparameter owneractivity minlines maxlines minwidth row horizontalalignment mgr uselocationexpression converterparameter designerthe presented highlight disposal associate implementing iregistermetadata choice designerattribute exactly loosely coupled attributes wish 45 discover automatically whereas explicitly register attributetablebuilder builder addcustomattributes typeof sendmaildesigner metadatastore addattributetable createtable activitiesin past wanted trivial comes 46 lines rehosted 47 uses layout columns puts cell remaining cells workfloweditor mainwindow sys mscorlib â xmlns sapt title 500 700 assemblyname culture neutral publickeytoken 31bf3856ad364e35 myassemblyname designergrid toolboxcontrol categories toolboxcategory categoryname toolboxitemwrapperâ toolboxitemwrapper toolname sequenceâ â â â â â â â â â â â â â â â â â â â â â â â â â â toolboxitemwrapperassemblyname sendmailâ â â â â â â â â â â â â â designerborder salmon propertygridexpander xamlthe 48 oninitialized designermetadata associated workflowdesigner propertyinspectorview uielement render menus variety sources initializecomponent eventargs registerdesigners placedesignerandpropgrid codewith little bit manipulate flush large walkthrough showed expose web config xamlx functioning albeit receives expense report indicator expensereport 49 datacontract datamember datetime firstdateoftravel totalamount typeback picker match operationname servicecontractname locationnow sendreply receipt obviously complicated sample determining browsing wcftestclient 51 serviceonce iis toâ workflowservicehost workflowservices self 52 endpoints newâ â â xamlservices expensereportservice localhost 9897 adddefaultendpoints description servicemetadatabehavior httpgetenabled open serviceif copying directory specifying bindings ready deploy endpoint workflowcontrolendpoint companion workflowcontrolclient pre local remote 53 exposing wce netnamedpipebinding endpointaddress pipe addserviceendpoint endpointbecause workflowinstance correctly 54 â â â â â â â â â â â â profilename healthmonitoring_tracking_profile â â â â â â â â â activitydefinitionid servicebehaviors sampletrackingsample samplewfbehavior etwtracking servicesthere improvements svc less don't wcf4 others indirectly correlating details realizes correlated visibility matt member staff pluralsight connected technologies biztalk azure platform independent consultant specializing contributed journals magazines msdn magazine foundations regularly shares love speaking regional international conferences tech ed recognized mvp community contributions contact blog www blogs aspx

A Developer's Introduction to Windows Communication Foundation 4
Aaron Skonnard, Pluralsight
developer's introduction windows communication foundation 4aaron skonnard pluralsightoriginal november 2009updated rtm april 2010overview net comes compelling new features welcomed improvements area wcf enhancements focus primarily simplifying developer experience enabling more scenarios providing rich integration workflow wf making “workflow services” first class citizen moving forward good news changes today’s common easier development styles possible result existing solutions fairly seamless terms migration simply decide want take advantage rest paper introduces each feature areas demonstrates work what’s 4wcf wide range specific figure describes we’ll throughout below summarize highlight top level opportunities offered release framework areasonce we’re done covering briefly discuss advanced lower come including things improved type resolution capabilities support queues competing consumers “receive context” unwrapped binary data through byte stream encoder high performance etw based tracing time you’ll see becomes use provides built simplified configurationthe unified programming model both blessing curse †simplifies writing service logic variety different increases complexity configuration side many underlying communications options you’re forced understand before started reality usually costly practice today much lands operations staff unprepared deal given consider one reasonably conclude it’s harder predecessor asp web services asmx define webmethod operation runtime automatically provided default hand developers know enough various endpoint daunting number scares away effort make overall easy “default configuration” completely removes need don’t provide particular configures standard endpoints binding behavior configurations makes up running especially those aren’t familiar happy accept defaults endpointswith try host without configured servicehost instance throw exception informing configure longer case adds endpoints” thereby usable here's works application calls open builds internal description file along anything explicitly still zero adddefaultendpoints public method found service’s base addresses iis svc address call directly custom hosting precise implementation per contract implemented example implements two contracts single http tcp four let's look complete illustrate ho`w suppose following servicecontract interface ihello â â â operationcontract sayhello name igoodbye saygoodbye greetingservice â â â â â â â console writeline hello goodbye now whatsoever specify shows again assume there's app config associated program static args tcpâ â â â â â â typeof â â â â â â â â â â â uri localhost 8080 greeting 8081 serviceendpoint se â â â â â â â â â â â â â â â press lt enter gt stop readline close another run you'll printed window illustrated behind scenes displayed windownotice chooses basichttpbinding nettcpbinding i’ll show change shortly remember kicks output add line code addserviceendpoint constructing wshttpbinding myendpoint inserted notice appears manually above configuring endpointhowever always yourself you’d set illustrates five calling manuallynow algorithm mechanics adding next question protocol mappingthe answer simple defines mapping between transport schemes pipe etc bindings machine comments looks servicemodel â â protocolmapping â â â â â scheme bindingconfiguration netnamedpipebinding msmq netmsmqbinding override mappings section modifying you'd within scope organization focused building restful sense “http” webhttpbinding accomplish rerun shown earlier place they're mappingonce determines via table uses configurationsevery used unless overridden choose applying explicit defining named apply definitions attribute doing properly cumbersome error prone typical basicwithmtom messageencoding mtom â â â â â â â â â â â â â â â â â “basicwithmtom” overrides changing message encoding takes effect “bindingconfiguration” step eludes causing problems omitting pick enables there’s course basis gives mechanism imposing complexities onto appropriate assured proper environment addition thing configurationswcf simplify share solution “behaviorconfiguration” definition behaviors they’ll hosted here’s servicebehaviors â â â â â â â â â servicemetadata httpgetenabled true â â â â turns metadata doesn’t browse retrieve help page wsdl browsing enabled configurationanother inheritance same already defined merged additional derived composite endpointsrelated known “standard think preconfigured “standard” typically although ship mex imetadataexchange instead forcing metdata exchange called “mexendpoint” that’s 4you leverage referencing element “kind” leveraging kind mexendpoint shield details didn’t times little bit differently standardendpoints reference endpointconfiguration here udpdiscoveryendpoint d11 standardendpoint discoveryversion wsdiscovery11 servicediscovery happens ws discovery version “udpdiscoveryendpoint” talk hostinggiven working nature fact check out helloworld language debug helloworldserviceâ â â codebehind app_code helloworldservice cs return world simplest form separate everything note i’m recommending approach noting draw comparison feel lot primary difference being names webservice definitely fewer parts described previous activation create you’ve added link pageif haven’t enable â â â â â â settings procedures outlined sections resulting verify find port elements simplifications applications brings closer less activationalthough files expose even virtual removing altogether map types activate having maintain physical “file activation” servicehostingenvironment serviceactivations relativeaddress relative path “greeting svc” order i’ve created “greetingsite” assigned “asp v4 0” pool mapped project directory contains greetingsite actually disk browser examplediscoverythe major going specialized oriented environments whose location dynamic constantly devices joining leaving network part business dealing requires clients dynamically discover oasis specification soap discovering allows probe match certain criteria list suitable candidates client discovered current modes ad hoc mode managed sending multicast messages udp respond minimize polling announce themselves listening limited multicasting local subnet receive proxy “manages” discoverable locate probing needs repository against query populated information detail proxies easily connected exisiting pre listen announcements update cache unicast recipient potentially classes implement abstract contain response announcement resolve brief discoverythe easiest way illustrating calculatorservice icalculatorservice udpdiscovery over “discover” actual dynamicendpoint connect remove ”dynamicendpoint” tag endpointâ â â â â â â â â â â â â calculatorendpoint â â â â â â â â â â â â â made send looking attempt allow fine tune serach adjust control process programmatically discoveryclient goes further showing invoke discoveryclientdiscoveryclient specified scopefindcriteria findcriteria findresponse endpointendpointaddress target clientcalculatorserviceclient calculatorserviceclient endpointclient invoking 100 15 99 once retrieved collection 10 assuming synchronous asynchronous well codeusing scopes endpointsin probed narrow results scoping probes let’s “scopes” during associate publish endpointdiscovery â â â â â â â â â â â â â â â â behaviorconfiguration calculatorservicebehavior â â â â â â â â â â â â â â â â â â â ep1behavior endpointbehaviors â â â â â â â â â â â â â â www org calculator ldap ou engineering exampleorg supply matching scopeuri interest customization xml sent client’s announcementswcf “announce” start “listening” learn right join reducing amount messaging performed exposed “udpannouncementendpoint” cases initiated announcementendpoints udpannouncementendpoint itself online offline specifically design announcementservice designed purpose event handlers onlineannouncementreceived offlineannouncementreceived register events whenever announces “online” fire “offline” sample hosts instanceâ â â â â â â subscribe eventsâ â â â â â â ononlineevent onofflineevent announcementserviceâ â â â â â â announcementservicehost multicastâ â â â â â â â â â â terminate object sender announcementeventargs received endpointdiscoverymetadata printendpointdiscoverymetadata 11 messagesnow leave later few instances starts announcemnt appear beyond boundaries turn necessary components discoveryimplementing involved component keep track available functionality ways relevant database capture discoveryproxy derive 12 sdk samples finished implementing somewhere servicebehavior instancecontextmode concurrencymode multiple mydiscoveryproxy discoveryproxybase store flat dictionary endpointaddress onlineservices onbeginonlineannouncement proxyâ â â protected iasyncresult discoverymessagesequence messagesequence endpointdiscoverymetadataâ â â â â â â asynccallback callback state addonlineservice ononlineannouncementasyncresult onendonlineannouncement end onbeginofflineannouncement bye removeonlineservice onofflineannouncementasyncresult onendofflineannouncement onbeginfind request findrequestcontext matchfromonlineservice onfindasyncresult onendfind probeendpointaddress 8001 announcementendpointaddress 9021 proxyservicehost discoveryendpoint issystemendpoint false announcementendpoint likewise specifying proxy’s creating baseaddress 9002 guid newguid tostring nettcpendpoint empty pointing serviceannouncementendpoint servicediscoverybehavior communicate points previously discoveryendpointdiscoveryclient endpointsfindresponse walk application’s 13 announced successfully saved currently runtimethe beauty traditional reduces go usagethe flexibility receiving populate build faã§ade setup manage operating manner resolves transmits back suppress receives informs presence direct queries avoiding primer committees download php 32184 wd 04 docx routing servicein useful centralized “routing” act brokers gateways scattered around decouples real perform intermediate processing node security boundary incoming pass content techniques determine others bridging allowing protocols router uncommon load balancing versioning whatever reason “intermediate routing” pattern requirement large scale soa wasn’t official apis several articles published msdn magazine such days “routing service” understanding routingservicewcf routingservice generic handle supported patterns duplex addressfiltermode persession usesynchronizationcontext validatemustunderstand â aspnetcompatibilityrequirements requirementsmode aspnetcompatibilityrequirementsmode allowed sealed patternsâ â â isimplexdatagramrouter isimplexsessionrouter irequestreplyrouter iduplexsessionrouter idisposable omitted derives session whole “route” downstream routerservice evaluating filters hence reside distributed require routingserviceyou ready tryâ â â â â â â accessed catch communicationexception abort reply routingdata baseaddresses addâ 8000 theâ â â â â â â â â andâ â â â â â â â â â â â â â â â â oneway basic onewayendpointbasic onewayendpointws twoway reqreplyendpointbasic reqreplyendpointws interfaces conjunction namespace schemas microsoft com netfx 2009 05 sessionmode asyncpattern isoneway action beginprocessmessage endprocessmessage replyaction generictransactionflow transactionflowoption beginprocessrequest endprocessrequest exposes invocations evaluates filtersyou routingbehavior managing filter wish filtertablename filtertable1 prior we’ve applied “routingdata” “filtertable1” intend route essentially “client” forwards destinations calculatorservice1 servicemodelsamples calcservice1 calculatorservice2 calcservice2 entries filtertables entry filtertable “filter” “filters” specifies value xpath expression maps “matchall” matches matchallfilter1 filtertype matchall destination filtername endpointname arrive “routed” 14 16 applicationfigure targeting routerfigure routingwcf messagefilter inspect actionmessagefilter addressing “action” values endpointaddressmessagefilter endpointnamemessagefilter prefixendpointaddressmessagefilter flexible xpathmessagefilter evaluate expressions extensibility performing half addfilter filterdata icalculator subfilter subtract mulfilter multiply divfilter divide execute invokes 17 18 calculatorservice1figure calculatorservice2the headers body great rewrite last envelope header wsa 'http add' subtract' â â â â â â â â â â filterdata multiply' â â â â â â â â â â 'http divide' namespacetable prefix w3 2003 2005 08 evaluated prefixes re produces technique bridgingin examples capable communicates scenario compatible respectively depending routed handing fault tolerancethe errors tolerance lists alternate communicating initial “backup” backup backuplists alternateendpoints backupendpoints backuplist timeoutexception important behaviorthe supports “multicast” fashion “matched” wildcard wildcardfilter calculatorservice3 regardless composes handling discussed issue ratio outgoing requests responses supportwcf handy referred webhttp include automatic caching selection friendly exceptions visual studio templates won’t space cover give quick favorites links introduced starter kit year follow suit future pagewhen webservicehost enjoy benefits needed lack generation idea webhttpbehavior helpenabled property controls whether aspnetcompatibilityenabled helpbehavior counterresource â â â â â â â â contract “help” appended url 19 servicesthe human readable annotated webget webinvoke template formats basically consumer 20 schema corresponding integrate generate serializable document write approaches operationthis ultimately consume stay sync similar supportone potential realize benefit accessing weboperationcontext trivial simpler controlling aspnetcacheprofile declaratively profile inspector cachingparameterinspector care cachefor60seconds uritemplate xmlitemtemplate counter getiteminxml handleget “cachefor60seconds” outputcachesettings outputcacheprofiles duration 60 varybyparam seconds vary “format” variable json “ json” independently compatibility required requiring injecting date expires semantics round trips selectionif post put requestformat responseformat properties attributes accomplished webmessageformat getiteminjson unfortunately means logical six “accept” better explain getitem webhttpendpoint auto automaticformatselectionenabled returning figures inspecting otherwise indicates “accepts” jsonthis tools fiddler 21 improve jsonwcf extend parameter sets accordingly rely suchâ â â exists usedâ â â formatquerystringvalue incomingrequest uritemplatematch queryparameters isnullorempty equals â â â â â â â â â â stringcomparison ordinalignorecase outgoingresponse elseâ â â â â â â webfaultexception unsupported httpstatuscode badrequest hard disposal construct wanted customize transmit “web faults” very faultexception status 400 bad user elseâ â â natural throwing normally integrating routesthere similarities methods significant models ties grows evolves lead monolithic can’t factored smaller chunks routes numerous desired ability engine global asax registerroutes taking serviceroute lets private webservicehostfactory factory routetable bookmarks bookmarkservice users userservice twice bookmarks” second users” paths templatesone neat 2010 extension manager access third parties click button product teams extensions bring expand “templates” child “wcf” vs vb 22 manageryou select installation under installed generates highlighted informationin api “views” t4 conditional etag optimistic concurrency generating outbound ones blog introducing team thorough series walks plenty instructions servicesone attention heavily investing improving declarative serviceswf raises abstraction languages library domain activities designer composing programs knows execution long wait external occur persistence efficient resources keeping memory waiting persisted freeing 23 frameworks sequential flow reading coordinate consuming concepts strides missing combining worlds best thanks designers powerful “wcf application” “helloworldworkflowservice” 24 templatesonce service1 xamlx containing entire xaml 25 designing serve key workflowservicehost “messaging” toolbox 2010the skeleton activity followed operationname “getdata” sequence “data” int32 variables underneath cause cancreateinstance checked filename “helloworldservice” propery activity’s “sayhello” finally “personname” bind 26 “hello ” inserting personname placeholder save activityat point ahead contents clicking explorer selecting “open with…” “xml editor” raw represents test pressing f5 server connects downloads 27 testing servicethis infrastructure produce completes walkthrough saw interactions continue digging pieces correlating concurrently remotely netthe helloworldworkflowservice walked tested worked installs handler handles creation individual “zero config” “context” basichttpcontextbinding wshttpcontextbinding nettcpcontextbinding ihelloworld service1behavior servicedebug includeexceptiondetailinfaults tracking self workflowservicehostalthough came redesigned assembly wpf fragment servicemetadatabehavior workflowcontrolendpointhosting initializing activating workflowcontrolendpoint wce follows appfabric quite enhances correlation sendreply receivereply modeling strings thus far complex datacontract person datamember id firstname lastname “personmsg” receiverequest sendresponse personmsg “content” “content definition” “message data” text box “person” type” aspects protection serializer datacontractserializer xmlserializer configurable selected operationsin combine higher receiveandsendreply sendandreceivereply compose drag surface “reply” referencein “add reference” expect except 28 referenceonce ok workflows correlationwhen systems consist simultaneously continuing challenge correlate correct sophisticated revolves “correlation handles” concept begin correlationhandle rendezvous connecting piece processed correlateswith participate ssn customerid keys returns bottom “finish” salutation finish final words supplying full kick until minutes hours persist original preceding namehandle namekey unique sends “handle” “initialize” “correlationinitializers” “query initializer” drop down “lastname” field ”sm xg0 lastname” 29 “correlateson” “correlateswith” “namekey” 30 “sayhello”figure “finish”this “lastname namekey” formatted caller “greetingmsg” greetingmsg returned 31 channel examplethat coverage scratch growing documentation combination opens doors entirely offer miscellaneous featuresin talked datacontractresolver queue receivecontext datacontractresolverin “known types” deserialization encounters isn’t declared inspects author annotate knowntype serviceknowntype substitutions commonly polymorphism mydatacontractresolver deserializationâ â â xsi typeâ â â resolvename typename typenamespace declaredtype knowntyperesolver mappingâ â â serializationâ â â representationâ â â bool tryresolvetype xmldictionarystring dcs null maxvalue serialize deserialize objects inject plugs datacontractserializeroperationbehavior resolver knownassembly exactly serialization queued receivecontextwith guarantee delivery transactional enlisting transaction thrown ensure lost originating poison dead letter issues folks transactions expensive overhead processes pulled “lock” “peek” wrong remains retry “completing” removed fronts read written bouncing arriving operationbehavior transactionscoperequired transactionautocomplete receivecontextenabled manualcontrol calculateproduct firstnumber secondnumber tryget operationcontext incomingmessageproperties receivecount timespan elseâ â abandon amp successful leaves retries explore depth streamline bytestreammessageencodingbindingelementin “blobs” wrapping bytestreammessageencodingbindingelement tracingwcf diagnostics front greatly improves related technologies management offering platform providers sessions optionally log controllers responsible disabling associating architecture conclusionwcf foremost requirements enterprise initiatives alone apart pain developing develop becoming option authoring merging together cohesive developer’s authoraaron cofounder pluralsight training provider instructor led demand courses aaron spends recording cloud computing azure spent years speaking teaching professional reach twitter

http://www.davidchappell.com/TheWorkflowWay--Chappell.pdf
http://download.microsoft.com/download/7/F/8/7F8BD8A0-EB05-4DB5-A5A4-DD1D3C909A0A/Introducing_Windows_Server_AppFabric.pdf

Developer Introduction to Windows Server AppFabric (Part 1): Hosting Services
Many business applications have a significant code base responsible for back end business processes and activities that are both hard to write and even more challenging to manage. With Web Services being the primary way to expose and consume business logic, building services, coordinating services and implementing the long running processes across these services needs to get easier. The combination of Windows Workflow Foundation in Microsoft .NET 4 together with Windows Server AppFabric provides a new way to create these business processes, to coordinate services and to expose these workflows as services themselves. This Ramp Up track provides you with the initial knowledge needed to build services and workflows and to understand how to configure and manage these using Windows Server AppFabric. The training assumes that you are a competent .NET developer and know your way around web applications, databases and Microsoft ASP.NET. No prior workflow or web services experience is necessary.
developer introduction windows server appfabric part hosting servicesmany business applications significant code base responsible back end processes activities both hard write even more challenging manage web services being primary way expose consume logic building coordinating implementing long running needs easier combination workflow foundation microsoft net together provides new create coordinate workflows themselves ramp up track initial knowledge needed build understand configure training assumes competent know around databases asp prior experience necessary kit available full download including complete recorded delivery class high quality †720 medium 450 versions review resources each module lessons online virtual lab environment published october 2010download kitdownload three different machine here setupthis setup labs install exercises need lab†everything ready start overviewthis contains result completing follow brief overview fourth coffee scenario reference sample used throughout involves creation application takes orders process approval custom labels printed purchased number created host â introducing wcf servicesin you’ll learn based communication service monitor â wcf sequential modeling style correlation support call â going deeper stand alone well orchestration introduced flowchart client act proxies â custom activitiesin use wf ado pack activity handle user input â securing principalpermissionscope restrict access operation â calling silverlightin calling silverlight â managing azurethis demonstrates multiple techniques attempting resolve issues â module deploymentin deployment tool ms deploy features visual studio inventory test â versioning servicesthis versioning topics include routing â windows azure enterprisein become familiar auto enable send questions feedback mail

WCF 4.0: Building WCF Services with WF in Microsoft .NET 4.0 | pdc2008
Eliminate the tradeoff between ease of service authoring and performant, scalable services. Hear about significant enhancements in Windows Communication Foundation (WCF) 4.0 and Windows Workflow Foundation (WF) 4.0 to deal with the ever increasing complexity of communication. Learn how to use WCF to correlate messages to service instances using transport, context, and application payloads. See how the new WF messaging activities enable the modeling of rich protocols. Learn how WCF provides a default host for workflows exposing features such as distributed compensation and discovery. See how service definition in XAML completes the union of WF and WCF with a unified authoring experience that simplifies configuration and is fully integrated with IIS activation and deployment.
wcf building services wf microsoft net pdc2008 eliminate tradeoff between ease service authoring performant scalable hear significant enhancements windows communication foundation workflow deal increasing complexity learn use correlate messages instances transport context application payloads see new messaging activities enable modeling rich protocols provides default host workflows exposing features such distributed compensation discovery definition xaml completes union unified experience simplifies configuration fully integrated iis activation deployment

SKTCH for iPad for iPad on the iTunes App Store
SKTCH is a generative drawing application for the iPad. Instead of adopting traditional "brush" based drawing, SKTCH is about presets, created by a number of digital artists around the globe. Whether you decide to sketch circles, meshes, networks or use any of the 16 presets available, be inspired by the endless possibilities of generative sketches and compositions you are able to make using SKTCH. Combine these with images from your photo library and layer for more complex compositions. Modify parameters in realtime, combine presets and see these amazing compositions come to life.
sktch ipad itunes app store description generative drawing application instead adopting traditional brush based presets created number digital artists around globe whether decide sketch circles meshes networks use 16 available inspired endless possibilities sketches compositions make combine images photo library layer more complex modify parameters realtime see amazing come life features unique draw both simple colour variants compose photographs blend backgrounds settings always saved view 2d 3d modes tips tricks each preset works way explore one seeing change don't forget try multitouch great network jocabola kibbits random button generate variations current mix match different together layering capturing screen importing background examples http sktchapp comalso iphone ipod touch version sold separately thanks kim asendorf ka andreas mã¼ller eduard prats molner epm philip whitfield underdoeg pw martin fuchs deffekt mf mike tucker mt generous contributions zach gage help patience many downloading published creativeapplications netinspired harmony project ricardo cabello aka mr doob mrdoob com projects made openframeworks open source toolkit what's new edit mode allows locations points drag drop paths update example used dependant point distance move away enlarge please note feature work harder real time such particle emitters hope ui refinements thank

A Better INotifyPropertyChanged Implementation | Gamlor
The INotifyPropertyChanged-interface and companions are a well know citizens of the .NET-framework. How do you implement this interfaces?. Does it look similar to this?
better inotifypropertychanged implementation gamlorthe interface companions well know citizens net framework implement interfaces look similar publicclass person privatestring firstname fields properties publicevent propertychangedeventhandler propertychanged publicstring return set value onpropertychanged privatevoid propertyname var property null new propertychangedeventargs â this common pattern it’s even uglier code ‘onpropertychanged’ method copy amp pasted dilema inotifypropertychangeso makes sad first need over course build base class try careful inheritance therefore really don’t inherit purpose name pretty bad here assistance compiler refactor make typo introduce very subtle bug program lucky catch unit test honestly concentrate more important stuff validating now goal clear want reusing without inheritance2 static type safety complain effort resulted fire gt call “fire” events ‘fire’ extension implements boiler plate checking etc avoid pass lambda expression typos refactoring safer perfect still something wrong checks it’s way pure extend event types quite easy example inotifypropertychanging source attached post fun notifyextensions cs testnotifyextensions entry posted november 25 2009 06 pm filed under follow responses through rss leave response trackback site

http://www.gamlor.info/wordpress/wp-content/uploads/2009/11/inotifypropertychange.png

Gamlor
Boy meets Girl…trouble and fun…fall in love…yada yada yada …
gamlorboy meets girl…trouble fun…fall love…yada yada …ramyun yummieyes boy ramyun shop doesn’t need plot description clichã© driven romantic comedy mean really show goes along cheesy formula point basically two characters first meet ‘accident’ situation later again more permanent argue hate each can’t go fall love finally live happily oooooooohhhh cute given kind countless silly scenes mostly naã¯ve fulfill stereotype additionally tons overacting especially lead actress overacts shit out role think isn’t enough sometimes add small cartoon animations comic sound effects underline way over top sounds negative nevertheless ‘flower shop’ exact right balance ‘over topless’ silliness foreseeable jokes enjoyable badness somewhat guilty pleasure makes work likable liked including ‘asshole’ don’t mind long enjoy recommend rationally fun watching hell yes it’s one funniest series i’ve watched quite time sharp line between being hated stuff watch half episode decide maybe already put below rational star meter enjoyment trailers good around dead boring english subtitled trailer super scene subtitles gives better impression well normal

NDepend Home Page
Jeffrey RichterWintellect co-founder, Author, Trainer
ndepend home pagewintellect happy recommend clients use internally working customer’s code jeffrey richterwintellect co founder author trainer

Tags:

mhtnd

blog comments powered by Disqus

about the author

I'm a .NET, XAML, and iOS polyglot that loves playing with new things and making cool and innovative stuff.  I am also a Mac junkie.

I am Principal Technologist for SunGard Global Services in NYC, in their Advanced Technologies practice, and I work extensively with SunGard's energy and financial customers.

Note the the posting on this blog are my own and do not represent the position, strategies or opinions of SGS.

twitter

Wow tonight's surfing has landed me on YouTube / rush / Exit Stage Left / Time to old school it! Wait, that was high school for me! LOL :)
Saturday 12:08AM via Microsoft
The Rise &Rise of the World's Biggest Cult Band http://t.co/emjoC4UL
Friday 8:49PM via Microsoft
I'm at Outback Steakhouse (Wilton, CT) w/ 2 others http://t.co/voxX9aNL
Friday 5:01PM via foursquare
@jeremylikness: Presentation patterns for #XAML based applications http://t.co/tl493BsR #wpf #Silverlight #windows8 #Metro #WinRT#mhtnd
Thursday 7:46AM via Twitter for Mac
I'm at Freepoint Commodities LLC (Greenwich, CT) http://t.co/ggTIcTGO
Monday 11:08AM via foursquare
Follow me on Twitter

recent comments

None

month list