719IndexSYMBOLSandNumerics\folder,CSLA.
NET,208Cslanamespace,212.
NETFrameworkalphabetizedasNETFramework3-layerlogicalmodel,55-layerlogicalarchitecture,9–14applyinglogicalarchitecture,14–18Businesslayer,11–12DataAccesslayer,12–13DataStorageandManagementlayer,13–14InterfaceControllayer,10–11Interfacelayer,10tablesummarizingrolesoflogicallayers,14Aabstractkeyword,373AcceptChangesmethod,395–396IUndoableObjectinterface,236UndoableBaseclass,381–382AcceptChangesCompletemethod,384AccessTypetype,360AcquireRequestStateevent,643Actiontemplate,DataPortalevents,448ActionTypeproperty,309ActivatorclassCreateInstancemethod,450,499ActiveDirectory(AD)groups,60ActiveViewIndexproperty,647,653ADsecurityseeWindowsintegratedsecurityAddmethodBrokenRulesCollectionclass,344BusinessListBaseclass,66creatingchildobjects,150,152AddAssignmentmethod,573addAssignmentprocedure,PTracker,135,573AddAuthorizationRulesmethodeditablerootobjects,177per-typeauthorizationrules,365Projectclass,528ProjectResourceclass,534read-onlyobjects,193AddBusinessRulesmethodBusinessBaseclass,348Projectclass,522,525–526,564ProjectResourceclass,533Roleclass,543RuleArgsclass,349AddDependentPropertymethod,527AddFieldMappingmethod,508AddFieldToPropertyMappingmethod,508AddInstanceAuthorizationRulesmethod,366AddNewmethod,Rolesclass,652AddNewCoremethoddynamiceditablecollections,201editablechildcollections,191editablerootcollections,190propertiescontrollingeditablecollections,577Rolesclass,PTracker,540,541Rolesclass,PTWeb,652AddObjectAuthorizationmethod,177AddObjectAuthorizationRulesmethod,361–362editablerootcollections,189Projectclass,529read-onlyobjects,193addProjectprocedure,PTracker,133,567AddProjectmethod,WCF,708–709AddPropertyMappingmethod,508AddPropertyToFieldMappingmethod,508AddRangemethod,74,223,232AddRefmethod,498addResourceprocedure,PTracker,136,567addressproperty,WCF,679,704,716addRoleprocedure,PTracker,138AddRoleButtoncontrol,PTWeb,651AddRulemethod,177,526ADO.
NETnullvalues,494ADO.
NETEntityFramework,556AfterServermethod,198AllowCreatemethod,361,529AllowDeletemethod,361,529AllowEditmethod,361,529,577AllowExecutemethod,364AllowGetmethod,361,362,529AllowNewproperty,190,201,577AllowReadmethod,364AllowRemoveproperty,238,577AllowWritemethod,364,528anchoredobjects,30,32,59720INDEXapp.
configfileconfiguringCSLA.
NET,355definingproxyobject,448importanceofname,593objectdatabinding,WPF,314AppDomainclassSetThreadPrincipalmethod,584application,SOAterminology,676applicationarchitecture,redundantservers,9applicationclasses,ProjectTracker,518applicationconfigurationPTWebproject,629–633PTWpfproject,593–596WCFserviceinterface,703–705applicationdatabusinesslogic,20applicationdesignseealsoframeworkdesignbehavioralobject-orienteddesign,55–56CSLA.
NETframework,61–96customauthentication,60–61high-levelguidelines,38importanceof,35integratedauthorization,41logicalarchitectureandphysicaltiers,3modelsforUIdeveloper,45–50class-in-charge,48–50object-in-charge,48UI-in-charge,46–48n-levelundofunctionality,42–45n-tierdesigncomplexity,4objectpersistence,54object-orientedgoals,38–61object-relationalmapping(ORM),56–57preservingencapsulation,57–58relationalvs.
objectmodeling,54–55stronglytypedcollectionsofchildobjects,42supportingdatabinding,50–54supportingphysicaln-tiermodels,58–60trackingbrokenbusinessrules,39trackingwhetherobjectstatehaschanged,41validationandbusinessrules,39–40applicationdesign,PTrackerdatabasedesign,126–140objectdesign,108–123applicationframeworkarchitecturesandframeworks,34–35applicationrequirements,gatheringbusinessconceptsandprocessflowdesign,105datafocuseddesign,104object-orientedapplicationdesign,104,108UIfocuseddesign,104applicationserversauthorizingservercalls,431–432scalabilityofphysicalmodel,6Applicationtab,VisualStudio,209ApplicationContextclass,214–219accessingcurrentprincipalobject,584ClientContextproperty,214,216,217,219contextpassingandlocationtransparency,431Csla,623Cslanamespaceclasses,213DataPortalProxyproperty,449ExecutionLocationproperty,214,215GlobalContextproperty,214,216,219LocalContextproperty,214,216,219,429SetExecutionLocationmethod,216Userproperty,214,215,354,357,641applicationsedgeapplications,2externalapplications,security,7hackers,7internalapplications,security,7SOAmodel,2useofterminthisbook,1workflowmodel,2Applymethod,BindingSourceNode,307ApplyAuthorizationmethod,588,600,609ApplyAuthorizationproperty,297,298–299ApplyAuthorizationRulesmethod,656,661,671ApplyEditmethodBusinessBaseclass,373BusinessListBaseclass,373deletingandundeletingchildobjects,388,389,390,396–397editlevel,385IEditableObjectinterface,294,385ISupportUndointerface,235,372,383–384UndoableBaseclass,71ApplyEditChildmethod,279,384ApplyReadRulesmethod,300–301ApplyWriteRulesmethod,300,301–302architectures5-layerlogicalarchitecture,9–14complexityofn-tierdesign,4frameworksand,34–35logicalandphysicalarchitectures,1–19logicalmodel,5physicalmodel,5–9Argumentsproperty,RuleDescription,337ArrayListcollection,42arraysToArraymethod,380asmxservicesWCFand,675721INDEXASP.
NETconfiguringASP.
NET,355description,619IISsecurityand,639storingstateonwebfarm,623switchingbetweenstate-handlingmodels,627ASP.
NETDevelopmentServerlimitations,639PTWcfServicewebsitesetup,705ASP.
NETmembershipserviceloginpage,PTWebproject,645–646ASP.
NETvalidationcontrols,22ASP.
NETWebFormsseeWebFormsuserinterface,PTWebAspNetCompatibilityRequirementsattribute,461assembliessignedassemblies,210takingsnapshotofdata,375AssemblyInformationdialog,VisualStudio,210AssemblyResolveevent,472AssignmethodProjectResourceclass,571ProjectResourcesclass,113,530,531Resourcescollection,670Assignmentclass,534–535AddAssignmentmethod,573BusinessandValidationRulesregion,535BusinessMethodsregion,535finalclasslistforPTracker,121GetDefaultAssignedDatemethod,535IHoldRolesinterface,535normalizingbehavior,116,117revisingPTrackerrelationships,112Roleproperty,535RoleListcollection,535UpdateAssignmentmethod,574ValidRolemethod,535,578Assignmentsproperty,Projectclass,566Assignmentstable,PTrackeraddAssignmentprocedure,135databasedesign,130deleteAssignmentprocedure,136updateAssignmentprocedure,135AssignTomethod,114AssignViewcontrol,PTWeb,663,669asynchronousBeginSavemethods,437,439–441asynchronousbehaviors,dataportals,432–433AsyncRuleMethodclass,335AttachSourcemethod,322AttributeUsageattribute,373AuthenticateRequestevent,PTWeb,643authentication,353–360ActiveDirectory(AD)groups,60applicationconfiguration,PTWeb,630applicationconfiguration,PTWpf,593duringWCFinitialization,692CslaAuthenticationkey,593customauthentication,60–61,91–92,355–360PTracker,543–546WCF,685–701,703WPF,584–585forms-basedauthentication,PTWeb,639–644MembershipProvider,359–360Windowsauthentication,355authenticationclasses,Csla.
Security,356AuthenticationTypeproperty,214authorization,360–367ApplyAuthorizationmethod,588,609,656duringWCFinitialization,692authorizingservercalls,431–432CanReadPropertymethod,242CanWritePropertymethod,243IAuthorizeReadWriteinterface,365integratedauthorization,41,92–93per-methodauthorization,364per-propertyauthorization,364property/methodlevelauthorization,364–367typelevelauthorization,361–364typelevelroles,362–364typesimplementing,360VerifyAuthorizationCachemethod,367authorizationpolicy,WCFservices,695–697authorizationrulesAddAuthorizationRulesmethod,365AddInstanceAuthorizationRulesmethod,366AddObjectAuthorizationRulesmethod,361–362BusinessBasefunctionality,220CSLA.
NETdefault,367CSLA.
NETdesignbenefits,123current.
NETprincipalchanges,609extendercontrolapplying,299–302per-instanceauthorizationrules,366per-typeauthorizationrules,365permissive,367ProjectEditwebform,671–672ProjectListwebform,660ReadWriteAuthorizationcontrol,299–302RolesEditwebform,656722INDEXAuthorizationRulesregion,168dynamiceditablecollections,201editablechildobjects,182editablerootcollections,189editablerootobjects,177Projectclass,PTracker,528–529AddAuthorizationRulesmethod,528AddObjectAuthorizationRulesmethod,529ProjectResourceclass,PTracker,534read-onlycollections,195Rolesclass,PTracker,539AuthorizationRulesclass,360AllowCreatemethod,361AllowDeletemethod,361AllowEditmethod,361AllowExecutemethod,364AllowGetmethod,361,362AllowReadmethod,364AllowWritemethod,364CanGetObjectmethod,362CanReadPropertymethod,364CanWritePropertymethod,364CanXyzObjectmethods,362DenyExecutemethod,364DenyReadmethod,364DenyWritemethod,364IsInRoleProvidermethod,363maintaininglistsofroles,365methods,361,364AuthorizationRulestype,360AuthorizationRulesManagertype,360,365,366Authorizemethod,432,464Authorizercontrol,324–326propertiesandmethods,325,326AutoCloneOnUpdateproperty,214AutoCompleteattribute,467AutoShowBrokenRulesproperty,309Bbackground.
jpgfile,PTWeb,636BackgroundWorkercomponent,224asynchronousbehaviors,dataportals,433DataPortalclass,456backingfields,CSLA.
NETpropertiesmanagedbackingfields,245,247–248privatebackingfields,245,246–247BalancedTreeIndexclass,416baseclasssupport,dataportals,434–442asynchronousBeginSavemethods,437,439–441factorymethodsandcriteria,436–437Save()andBeginSave(),441SaveCompletemethod,438synchronousSavemethods,437,438–439updatingchildobjectswithfieldmanager,441updatingeditablecollections,441–442baseclasses,62,64Basictheme,PTWeb,635,636Basic.
cssfile,PTWeb,636Basic.
skinfile,PTWeb,636basicHttpBinding,WCFservicebindings,680BeforeServermethod,198BeginCreatemethod,455BeginDeletemethod,455BeginEditmethodBindingSourcecontrol,304BusinessBaseclass,373BusinessListBaseclass,373deletingandundeletingchildobjects,387,389,390,396–397editlevel,385IEditableObjectinterface,291,292,384ISupportUndointerface,235,370,372,382UndoableBaseclass,71BeginExecutemethod,455BeginFetchmethod,433,455,456BeginQuerymethod,316BeginResumeWorkflowmethod,511BeginSavemethodbaseclasssupport,dataportals,437,439–441BusinessBaseclass,87,156,157,438BusinessListBaseclass,438BeginUpdatemethod,441,455BeginWorkflowmethod,511behaviorConfigurationproperty,WCF,690behaviorsasynchronousbehaviors,dataportals,432–433behavioralobject-orienteddesign,55–56BusinessBasefunctionality,220dataportals,84–91normalizingbehavior,103,116–118relationalvs.
objectmodeling,54bidirectionaldataupdates,87binfolder,WcfHostwebsite,595,632BinaryExpressionobjects,410BinaryFormatterclass,164,165circularreferencesinobjectgraph,278cloningserializableobject,237serializingandstackingHybridDictionary,379Bindmethod,306,307723INDEXBindableBaseclass,73OnUnknownPropertyChangedmethod,266bindingseedatabindingBindingelement,ProjectList,612Bindingobjects,299Format/Parseevents,300bindingproperty,endpointelement,679,680BindingCompleteevent,304bindingConfigurationproperty,WCF,698BindingEditpropertyCopyStatemethod,378IEditableObjectinterface,292,384BindingErrorevent,304BindingListclass,73Containsmethod,387databinding,295IBindingListinterface,73inheritancefrom,52ListChangedevent,232markingeventsasNonSerialized,53BindingListcollection,42BindingSourcecomponent,305,306,307DataSourceproperty,306,310workingwithmultiplerootobjects,311BindingSourcecontrol,304–305BindingCompleteevent,304callingserviceoperation,PTWcfClient,716databinding,303IEditableObjectinterface,291methods,304BindingSourceHelperclass,306–308BindingSourceNodeclass,305–306methods,305,306,307BindingSourceRefreshcontrol,302,304BindsDirectlyToSourcepropertyCslaDataProvidercontrol,607ProjectListclass,PTracker,612booltypeemptyvalues,502BoundFieldcolumn,GridView,650boxing,257brokenrulesBrokenRuleclass,343BrokenRulesCollectionclass,344–346IDataErrorInfointerface,294maintaininglistof,76,342–343BrokenRuleclass,75,76,343BrokenRulesCollectionclass,75,76,343,344–346methodsandproperties,76,344,345,346BrokenRuleTemplateelement,320BrowsableattributeIsNewproperty,264IsSelfValidproperty,269BusinessandValidationRulesregionAssignmentclass,535Projectclass,525–528AddBusinessRulesmethod,525–526customrulemethods,527–528interdependentproperties,526–527ProjectResourceclass,533Roleclass,542businessclassimplementation,PTracker,519–543,559–581Assignmentclass,534–535Existscommand,543,579–581ExistsCommandclass,579–581mainareasofeachclass,517Projectclass,520–529,560–569ProjectListclass,538,575ProjectResourceclass,532–534,571–574ProjectResourcesclass,530–532,569–570ProjectTrackerobjects,517Resourceclass,536–538ResourceAssignmentclass,536ResourceInfoclass,538–539ResourceListclass,538,575–576Roleclass,541–543RoleListclass,536,574–575Rolesclass,539–541,577–578businessclassesencapsulation,38settingupProjectTracker,518businesscollectionclassescommonregions,166businessconceptsandprocessflowdesign,105businessframeworkseeCSLA.
NETframeworkbusinessframeworkbaseclasses,62businessfunctionality,PTWeb,646–672ProjectEditform,661–672ProjectListform,656–661RolesEditform,646–656Businesslayer,11–12,14businesslogiclocations,22communicatingwithDatalayer,5communicatingwithInterfacelayer,5highsecuritywebclient,18high-scalabilitysmartclient,16mobileobjectsandlogicalarchitecture,28n-layer(logical)architecture,3,5separationfromInterfacelayers,11businesslogicauthorization,41DataAccesslayer,20dataaccessseparation,547Interfacelayer,19locatinginmultiplelayers,19,20managing,19–34724INDEXmobileobjects,26separationofdataaccessand,420businesslogiclocations,20–23Businesslayer,22DataAccesslayer,22DataStorageandManagementlayer,21InterfaceControllayer,21–22sharingbusinesslogicacrosstiers,22–23validationandmanipulation,20BusinessMethodsregion,168Assignmentclass,535editablechildobjects,182editablerootbusinessobjects,176Projectclass,521–525childcollectionproperties,524overridingGetIdValuemethod,524read-onlyproperties,521read-writeproperties,521–523SmartDateproperties,523–524ProjectResourceclass,533ProjectResourcesclass,530–532Assignmethod,531Containsmethod,532ContainsDeletedmethod,532GetItemmethod,531Removemethod,532ResourceInfoclass,538–539RoleListclass,536Rolesclass,539–541businessobjectpersistencedataaccessmodels,548–553businessobjects,23–26seealsomobileobjectscentralizingbusinesslogic,28commandobjects,197–198commonregions,166–169commonstructuresandfeatures,163–170componentpartsof,25–26creation,CSLA.
NETframework,61–69exposingaspartofservicecontract,685criteriaobjectidentifyingtype,444criteriaobjects,202–205CSLA.
NETdesignbenefits,123–126datatransfer,24,28DataContractattribute,164DataPortal_Xyzmethods,548DataSet,24dynamiceditablecollections,199–201dynamiceditablerootobjects,201–202editablechildcollections,190–191editablechildobjects,180–184editablerootcollections,187–190editablerootobjects,174–180encapsulation,24executingworkflowfrom,514–515mobilebusinessobjects,23modelsforUIdeveloper,45–50name/valuelistobjects,198–199non-publicdefaultconstructor,170NonSerializedattribute,164objectdesign,24objectfactoryclasses,169–170per-instancerules,331,332persistence,548per-typerules,331,332processflowtocreateorload,435processflowtosave,436PTrackerobjectdesign,108finalclasslist,121potentialobjectsandclassnames,109read-onlychildcollections,196read-onlychildobjects,193–194read-onlycollections,194–196read-onlyobjects,191–193regionsininheritedclasses,166rules,331Serializableattribute,164smartdata,24–25snapshotprocess,373subclassingBusinessBaseclass,124subclassingBusinessListBaseclass,124switchableobjects,184–187usingasdatasource,648businessobjects,lifecycleof,147–163adding/editingrootobjects,156–158adding/editing/deletingchildobjects,158–160creatingchildobjects,150–152creatingrootobjects,148–150deletingrootobjects,160–161disposingandfinalizingobjects,162–163objectcreation,147–152objectdisposal,163objectretrieval,152–155retrievingchildobjects,155retrievingrootobjects,153–154updatingeditableobjects,156–161businessrules,39seealsorules;validationrulesapplicationdesign,39–40BusinessBasefunctionality,220commonbusinessrules,351CSLA.
NETdesignbenefits,123CSLA.
NETframework,74–77methodsignaturefor,332nullvalues,500trackingbrokenbusinessrules,39,74typesofrules,331–332725INDEXBusinessRulesregion,168BusinessBaseclass,62,64,219–221AddBusinessRulesmethod,348ApplyEditmethod,373,383–384,385baseclassfor,73BeginEditmethod,373,382,384BeginSavemethod,87,438businessobjectssubclassing,124CancelEditmethod,373,383,384CanExecuteMethodmethod,367CanReadPropertymethod,366CanWritePropertymethod,367Child_Xyzmethods,66criteriaobjects,204Cslanamespaceclasses,98,213Csla.
Corenamespaceclasses,231,232dataaccessmethods,64DataPortal_Xyzmethods,65exceptionhandling,65functionalareasimplementedin,220GetPropertymethod,242,245IEditableObjectinterface,384–385implementingProjectclass,PTracker,520inheritance,219,288inheritingfromnon-genericbaseclasses,64IsDeletedproperty,271–272IsDirtyproperty,268–269IsNewproperty,264–265IsSavableproperty,270IsSelfDirtyproperty,265–268IsSelfValidproperty,269ISupportUndointerface,382–384IsValidproperty,269MarkAsChildmethod,65n-levelundofunctionality,70,382–385objectstatusproperties,263–272ReadPropertymethod,242,245rules,331Savemethod,87–88,435,438SetPropertymethod,242,245trackingbrokenbusinessrules,74trackingobjectstatus,263BusinessBaseobjectUpdatemethod,SimpleDataPortal,474–475BusinessExceptionproperty,430BusinessListBaseclass,62,66,221–223AcceptChangesmethod,395–396Addmethod,66ApplyEditmethod,373,396–397baseclassfor,73BeginEditmethod,373,396–397BeginSavemethod,438businessobjectssubclassing,124callingSetParent()onchildobjects,542CancelEditmethod,373,396–397Child_Updatemethod,441,442Child_Xyzmethods,67ContainsDeletedmethod,387CopyStatemethod,391–392Cslanamespaceclasses,98,213DataPortal_Xyzmethods,66DeleteChildmethod,386,390deletedobjectcollection,387–391deletingchildobjects,387editleveltracking,385editablechildcollections,190EditLevelAddedproperty,386IEditableCollectioninterface,71,233inheritance,222InsertItemmethod,386LinqBindingListand,401MarkAsChildmethod,67n-levelundofunctionality,385–397objectstatusproperties,263reactingtoInsert/Remove/Clearoperations,386–387regionsininheritedclasses,166Removemethod,66RemoveChildmethod,386RemoveItemmethod,386Savemethod,435,438searchingforitemsin,403SetParentmethod,387trackingobjectstatus,263UnDeleteChildmethod,390UndoChangesmethod,392–395BusinessObjectInvalidevent,310BusinessPrincipalBaseclass,91authenticationclasses,Csla.
Security,356creatingcustomprincipalclass,357Identityproperty,358IsInRolemethod,358Loginmethod,357Logoutmethod,358BusyAnimationcontrol,323,610DispatchTimer,323IsBusyproperty,610IsRunningproperty,610Storyboardelements,323BusyChangedevent,322ButtoncontrolCommandproperties,WPF,607,608CcachingcachingprojectobjectinSession,664InvalidateCachemethod,199,574,578InvalidatedCachemethod,578726INDEXinvalidatingclient-sidecache,578invalidatingserver-sidecache,578Sessionobject,649VerifyAuthorizationCachemethod,367cacls.
exetool,688CallByNamemethod,230,348CallMethodmethod,443,473CallMethodExceptionclass,423,443CallMethodIfImplementedmethod,443Cancelmethod,BindingSourceNode,307Cancelproperty,CslaDataProvider,609CancelEditmethodBindingSourcecontrol,304BusinessBaseclass,373BusinessListBaseclass,373deletingandundeletingchildobjects,387,389,390editlevel,385IEditableObjectinterface,291,292,293,384ISupportUndointerface,235,372,383UndoableBaseclass,71CanCreate/CanDelete/CanEditmethods,Projectclass,529CanEditObjectproperty,604,608CanExecuteMethodmethodper-methodauthorization,364ProjectResourceclass,PTracker,533,534property/methodlevelauthorization,366–367CanExtendmethod,297CanGetmethod,529CanGetObjectmethod,362CanReadPropertymethodauthorization,242AuthorizationRulesclass,364IAuthorizeReadWriteinterface,296integratedauthorization,92,93IReadOnlyObjectinterface,234property/methodlevelauthorization,366–367CanWritePropertymethodauthorization,243AuthorizationRules,364IAuthorizeReadWriteinterface,296integratedauthorization,92,93property/methodlevelauthorization,366–367CanXyzObjectmethods,AuthorizationRules,362catchblock,709certificates,WCFservices,686–689certmgr.
exetool,688ChainTrust,WCF,691ChangeTypemethod,505channeladapter,468behaviors,DataPortalclass,445–462channeladapterdesignpattern,421–424,445–462CallMethodExceptionclass,423DataPortalclass,423,446–455DataPortalEventArgsclass,423,448DataPortalclass,423,455–457EnterpriseServicesPortalclass,424EnterpriseServicesProxyclass,424IDataPortalProxyinterface,423,458IDataPortalServerinterface,423,457–458LocalProxyclass,423,458–459MethodCallerclass,423RemotingPortalclass,424RemotingProxyclass,424RunLocalAttributeclass,423,445–446typesrequiredfor,423WcfPortalclass,423,460–462WcfProxyclass,423,459–460WebServicePortalclass,424WebServicesProxyclass,424CheckRulesmethodbrokenrules,344checkingrulesforallproperties,342checkingrulesforoneproperty,340–342objectdatabinding,WPF,314objectstatusproperties,268Projectclass,PTracker,526ValidationRulesclass,340childclasseslazyloadingchildobjects,282childcollectionpropertiesProjectclass,PTracker,524childobjectreferencefieldsproperties,CSLA.
NET,248childobjectsadding/editing/deleting,158–160BusinessBaseindicatingobjectischild,65cascadingcallto,377consistentcodingmodelfor,421creating,150–152CSLA.
NETterminology,144dataaccessmethods,455DataPortalmethods,447declaringchildproperties,279–283DeleteChildmethod,386DeleteSelfmethod,159deleting,387description,64,273editablechildcollections,190–191editablechildobjects,180–184Insertmethod,159InsertItemmethod,386727INDEXlazyloading,281–283n-levelundofunctionality,43editleveltracking,385parentwithsinglechild,273parent-childinteraction,274–279read-onlychildcollections,196read-onlychildobjects,193–194read-onlycollections,194RemoveChildmethod,386removingfromcollection,285retrieving,155SetParentmethod,387stronglytypedcollectionsof,42switchableobjects,184UndoableBaseclass,71Updatemethod,159updatingwithfieldmanager,441childpropertiesdeclaringinDataPortal_Xyzmethods,279–280Child_Createmethodeditablechildobjects,182invoking,447Child_DeleteSelfmethodchildobjects,158,159,160,442invoking,447ProjectResourceclass,PTracker,574Child_Fetchmethodeditablechildcollections,191editablechildobjects,183invoking,447ProjectResourceclass,PTracker,572ProjectResourcesclass,PTracker,570Child_Insertmethodchildobjects,158,159,160invoking,447ProjectResourceclass,PTracker,573Child_OnDataPortalInvokemethod,480Child_UpdatemethodBusinessListBaseclass,441,442,570childobjects,158,159,160editablechildcollections,191invoking,447Child_XyzmethodsBusinessBaseclass,66BusinessListBaseclass,67consistentcodingmodelforchildobjects,421editablechildobjects,183,184EditableRootListBaseclass,67switchableobjects,186ChildChangedeventeditablecollections,283ExtendedBindingListclass,74parent-childinteraction,274,276–278ChildChangedEventArgsparent-childinteraction,277ChildDataPortalclass,479–480childobjectdataaccessmethods,455ClassLibraryproject,518classesseealsobusinessclassimplementation,PTrackerbaseclasses,62,64,98completecodedownloadfor,208finalclasslist,PTracker,121genericclasses,64helpertypesandclasses,93–96class-in-charge(Factorypattern)model,48–50,435ClearContextmethod,483ClearIndexmethod,412ClearIndexesmethod,412ClearItemsmethod,238Clickedevent,310Clickingevent,310clientconfigurationconfiguringWCFtousemessagesecurity,690customauthentication,WCFservices,700–701PTWcfClientproject,715clientmodelshigh-scalabilitysmartclient,15–16high-securitywebclient,18optimalperformancesmartclient,14–15optimalperformancewebclient,17–18smartclientforWCFservice,713–718ClientContextcollection,429ClientContextobjectsstoringstateonwebserver,623ClientContextproperty,214,216,217,218,219clientCredentialTypeproperty,WCF,698ClientCulturedata,DataPortalContext,429client/serverapplicationsXMLservices,SOA,676client-sidecache,invalidating,578Client-sideCoderegion,198client-sidecontextdata,80client-sideDataPortal,78–79client-sideproxyclasses,78,79–80ClientUICulturedata,DataPortalContext,429ClonemethodICloneableinterface,237Projectclass,PTracker,520ProjectResourcesclass,PTracker,530ReadOnlyListBaseclass,538cloning,220,237codedownloadResources.
resxfile,211728INDEXcodegeneration,criteriaobjects,204codereusearchitecturesandframeworks,34object-orientedapplicationdesign,103reflection,347validationrules,40CodeBehindproperty,WCF,684CoerceValuemethod,230,505managedbackingfields,248privatebackingfields,247settingfieldvalues,259collaborationbehavioralobject-orienteddesign,55revisingPTrackerdesign,120collectionclassesreactingtoInsert/Remove/Clearoperations,386–387collectiondatabindingWindowsForms,295–296WPF,315collectionobjectsCSLA.
NETterminology,144parentwithsinglecollection,274ProjectTrackerobjects,517rootobjectscompared,188CollectionChangedevent,52,315collectionsbindingtoresultsfromLINQtoObjects,400BusinessListBaseclass,66cascadingcallto,377CSLA.
NETterminology,144deletedobjectcollection,387–391dynamiceditablecollections,199–201editablechildcollections,190–191editablerootcollections,187–190EditableRootListBaseclass,67parenteditablecollection,283–285parent-childinteraction,283–285propertiescontrollingeditablecollections,577read-onlychildcollections,196read-onlycollections,194–196ReadOnlyListBaseclass,68state,392stronglytypedcollectionsofchildobjects,42updatingeditablecollections,441–442Collections.
Genericnamespace,42COM(ComponentObjectModel),7COM+transactionalcontext,466ComboBoxcontrol,ProjectEditform,613,615commandobjects,63,67,197–198commonregions,167CSLA.
NETobjectstereotypes,146Commandproperty,Buttoncontrol,607,608CommandBaseclass,62,67,223Cslanamespaceclasses,98,213DataPortal_Executemethod,68,466regionsininheritedclasses,167CommandBaseobjectExecutemethod,SimpleDataPortal,475CommandBinding,ProjectEditcontrol,616CommandFieldcolumnDetailsViewcontrol,662,672GridViewcontrol,650,653,656,659,661,663CommandManagerproperty,607CommandNameproperty,310CommandParameterpropertyButtoncontrol,607ProjectEditcontrol,616CommandTargetpropertyButtoncontrol,607CslaDataProviderCommandManagerclass,319commonbusinessrules,351CommonRulesclass,75,347–351implementingcommonrules,76methods,347Projectclass,PTracker,525purpose,347RuleHandlerdelegate,347StringMaxLengthmethod,347,348–351StringRequiredmethod,347,348Compilemethod,LINQ,410,413CompletemethodTransactionScopeobjectdisposal,468complexitydataaccesslayerdesign,554ComponentObjectModel(COM),7ComVisibleattribute,467ConfigurationManagerclass,215connectionobjectConnectionManageropening,498connectionpoolinghigh-scalabilitysmartclient,16managingdatabaseconnections,495optimalperformancewebclient,18scalabilityofphysicalmodel,6ConnectionManagerclass,93,94,496–498AddRefmethod,498connectionmanagertypes,495dataaccessusing,495,496DeRefmethod,498Disposemethod,496,498GetManagermethod,498IDbConnectioninterface,497IDisposableinterface,496LINQtoSQL,565lockstatement,497729INDEXopeningconnectionobject,498threadlocalstorage(TLS),497,498threading,497connectionsseedatabaseconnectionsConstantExpressionexpressionevaluation,LINQ,410NodeTypeproperty,Expressionobjects,413constructorsnonpublicconstructors,Projectclass,561non-publicdefaultconstructor,170usingfactorymethods,170consumingapplication,SOA,676containment,stereotypes,144Contains/ContainsDeletedmethods,387,530,532ContainsKeymethod,LINQ,413Contentcontrol,RolesEditwebform,646contentpagesmasterpage,PTWebproject,634ContentPlaceHoldercontrol,PTWeb,635ContentPlaceHolderIDproperty,646ContextDictionarytype,481ContextManagerclass,93,94,499connectionmanagertypes,495dataaccessusing,495,496,573LINQtoSQL,565contextsApplicationContextclass,214ClearContextmethod,483contextdictionaries,216dataaccess,428–431,480–484DataPortalContextclass,429,480–483DataPortalContextobject,429DataPortalExceptionclass,430,484DataPortalResultclass,430,484DataPortalResultobject,429managingcontexts,495messageobjects,80ObjectContextManagerclass,499SetContextmethod,481typesrequiredtoimplement,431contractproperty,WCF,679,680controlskin,PTWebmasterpage,636Control_BindingCompletemethod,303controlsAuthorizercontrol,324–326BindingSourcecontrol,304–305BindingSourceRefreshcontrol,302–304BusyAnimationcontrol,323controlsboundtoproperties,296CslaActionExtendercontrol,305,308–311CslaDataProvidercontrol,315–319CslaDataSourcecontrol,327–329DataDecoratorBasecontrol,324definingcontrolprefix,629ErrorProvidercontrol,296extendercontrols,296ObjectStatuscontrol,326–327PropertyStatuscontrol,319–323ReadWriteAuthorizationcontrol,296–302controls,PTWpf,586ProjectEditform,612–616ProjectListform,611–612ResourceListform,609–611RolesEditform,602–609usercontrolframework,587–590conversionfunctionsdatehandlingwithSmartDate,491–492ConvertclassChangeTypemethod,505ConvertmethodListTemplateConverterclass,592valueconverters,PTWpfproject,591VisibilityConverterclass,592ConvertBackmethod,PTWpf,591convertersListTemplateConverterclass,592,586valueconverters,PTWpf,591–592VisibilityConverterclass,591,587cookiesreloadingprincipalobjects,642CopyingStatemethod,377CopyStatemethod,374–380,391–392avoidingdouble-processingoffields,377BeginEditmethod,382BindingEditproperty,378cascadingcalltochildobjects/collections,377gettinglistoffields,377IUndoableObjectinterface,236protectedscope,376serializing/stackingHybridDictionary,379–380skippingNotUndoablefields,377stackingdata,374takingsnapshotofdata,374–377takingsnapshotofregularfields,379CopyStateCompletemethod,377Corefolder,208Corenamespace,97,230BusinessBaseclass,231,232ExtendedBindingListclass,231,232IBusinessObject,227,231,232–233ICommandObject,233IEditableBusinessObject,233IEditableCollection,233IPropertyInfointerface,227IReadOnlyCollection,234IReadOnlyObject,234730INDEXISavable,231,234ISmartField,231,235ISupportUndo,231,235ITrackStatus,231,236IUndoableObject,236ObjectClonerclass,231,237–238ReadOnlyBindingListclass,231,238–239Core.
FieldManagernamespace,250–252corner.
pngfile,PTWeb,636coupling,103CRCcards,PTrackerobjectdesign,109CreatemethodChildDataPortalclass,479ObjectFactoryclass,169Createmethod,DataPortal,84–86seealsoDataPortal_Createmethodcreatingchildobjects,151creatingrootobjects,148description,446distributedtransactionsupport,465purpose,425rootobjectdataaccessmethods,454RunLocalattribute,445createoperationdataportalbehaviors,84dataportals,81server-sidedataportal,82CreateChildmethod,DataPortal,151,570,571CreateConsolidatedListmethod,254CreateInstancemethodActivatorclass,450,499MethodCallerclass,443CreateQuerymethod,406,407,408CreateUpdatableProjectmethod,710CreateWorkflowmethod,510creatingobjectsseeobjectcreationcredentialsreloadingprincipalobjectswithoutauthenticating,544securityinphysicalmodel,6usernamecredentials,WCF,692–693CredentialValidatorclass,WCF,694,696,699criteriaclass,naming,203criteriaobjects,202–205baseclasssupport,dataportals,436createoperation,dataportals,85creatingcriteriaobject,81CriteriaBaseclass,81CSLA.
NETobjectstereotypes,147CSLA.
NETterminology,144deleteoperation,dataportals,90fetchoperation,dataportals,86identifyingbusinessobjecttype,444SingleCriteriaclass,81Valueparameter,565CriteriaBaseclass,81,223criteriaobjects,203,204Cslanamespaceclasses,213messagerouterdesignpattern,426CRUDoperations,59CSLA.
NETauthentication,353–360authorization,360–367childobjectreferencefields,248configuring,355,356customauthentication,356dataportals,148declaringproperties,241–250fieldmanager,159Indexableattribute,399indexedLINQand,408–416indexedsearchusing,403–404IQueryableimplementationfor,404–408LINQto,400–401LINQ,reducingcodewith,399–400managedbackingfields,245,247–248privatebackingfields,245,246–247projectstructure,208–212SaveCompletemethod,234serialization,165signedassemblies,210stereotypes,146supportformobileobjects,419terminology,144usingNetDataContractSerializer,165Windowsauthentication,355CSLA.
NETforSilverlight,176IMobileObjectinterface,489informationwebsite,583serializableobjects,357usingbaseclasses,539CSLA.
NETframeworkAuthorizercontrol,324–326baseclasses,207BindingSourceRefreshcontrol,302–304businessandvalidationrules,331businessframeworkbaseclasses,62businessobjectcreation,61–69businessobjectdesignbenefits,123–126businessobjectpersistence,548–553businessrules,74–77BusyAnimationcontrol,323classesBindableBase,73BindingList,73BrokenRule,75BrokenRulesCollection,75BusinessBase,64BusinessListBase,66CommandBase,67731INDEXCommonRules,75ConnectionManager,93,94,496ContextManager,93,94,499CriteriaBase,81CustomIdentity,92DataMapper,93,95,503–508DataPortal,78–80,446–457EditableRootListBase,67ExtendedBindingList,74FilteredBindingList,74LocalProxy,458–459NameValueListBase,69ObjectContextManager,499ReadOnlyBase,68ReadOnlyListBase,68,538RuleArgs,75RuleHandler,75SafeDataReader,93,94–95,499–503SingleCriteria,81SmartDate,93SmartDate,96SortedBindingList,74UndoableBase,70–71ValidationException,75ValidationRules,75WcfPortal,460–462WcfProxy,459–460WorkflowManager,510–515commandobjects,197–198commonbusinessrules,351criteriaobjects,202–205CslaActionExtendercontrol,305,308–311CslaDataProvidercontrol,315–319CslaDataSourcecontrol,327–329customauthentication,91–92dataaccess,494–508databinding,72–74dataportals,77–91DataDecoratorBasecontrol,324datehandlingwithSmartDate,488–494directorystructure,208dynamiceditablecollections,199–201dynamiceditablerootobjects,201–202editablechildcollections,190–191editablechildobjects,180–184editablerootcollections,187–190editablerootobjects,174–180folders,tableof,208frameworkdesign,61–96generictypes,232helpertypesandclasses,93–96inheritance,207integratedauthorization,92–93ISupportUndointerface,71LINQsupport,73localization,211messagerouter,425name/valuelistobjects,198–199namespaceorganization,96–98n-levelundofunctionality,69–72NotUndoableAttribute,71objectstatusproperties,263–272ObjectStatuscontrol,326–327polymorphism,232PropertyStatuscontrol,319–323read-onlychildcollections,196read-onlychildobjects,193–194read-onlycollections,194–196read-onlyobjects,191–193ReadWriteAuthorizationcontrol,296–302SmartDatetype,488–494switchableobjects,184–187validationrules,74–77CSLALight,221Cslanamespace,97,212–230baseclasses,98,212CslanamespaceclassesApplicationContextclass,213,214–219BusinessBaseclass,213,219–221BusinessListBaseclass,213,221–223CommandBaseclass,213,223CriteriaBaseclass,213,223DataPortalclass,224EditableRootListBaseclass,213,224NameValueListBaseclass,213,225PropertyInfoclass,213,226,227ReadOnlyBaseclass,213,227,228ReadOnlyListBaseclass,213,228SingleCriteriaclass,213,229SmartDateclass,214,229Utilitiesclass,214,230Cslaprojectprojectsettings,209projectsigning,210Csla.
CorenamespaceseeCorenamespaceCsla.
Core.
FieldManagernamespacePropertyInfoManagerclass,250–252Csla.
Datanamespace,97Csla.
DataPortalClientnamespace,97Csla.
dllassembly,210definingcontrolprefix,629PTWcfServicesitesetup,705PTWpfprojectsetup,596referencing,519Csla.
Linqnamespace,97Csla.
Propertiesnamespace,97Csla.
Reflectionnamespace,97,443732INDEXCsla.
Securitynamespace,97,354authenticationclasses,356Csla.
Serializationnamespace,97Csla.
Servernamespace,97DataPortalclass,462–466Csla.
Server.
Hostsnamespace,97Csla.
ValidationnamespaceseeValidationnamespaceCsla.
Webnamespace,97Csla.
Web.
Designnamespace,98Csla.
WebServiceHostnamespace,98Csla.
Windowsnamespace,98CslaActionExtendercontrol,305,308–311ActionTypeproperty,309AutoShowBrokenRulesproperty,309BusinessObjectInvalidevent,310Clickedevent,310Clickingevent,310CommandNameproperty,310DataSourceproperty,309DirtyWarningMessageproperty,309DisableWhenCleanproperty,310ErrorEncounteredevent,310HasBrokenRulesevent,311IButtonControlinterface,308ObjectSavedevent,311ObjectSavingevent,311PostSaveActionproperty,309RebindAfterSaveproperty,310WarnIfCloseOnDirtyproperty,309WarnOnCancelproperty,309WarnOnCancelMessageproperty,309workingwithmultiplerootobjects,311–312CslaAuthenticationkeyapplicationconfiguration,PTWpf,593authentication,PTWeb,630authentication,WCFserviceinterface,703dataportalserver,596WCFdataportalserver,PTWeb,633CslaDataPortalProxykeydefiningproxyclass,448,449localdataportal,630remotedataportal(withWCF),631WCFserviceinterface,704CslaDataProviderclassDataChangedproperty,603DeferRefreshmethod,614FactoryMethodproperty,603IsAsynchronousproperty,604IsInitialLoadEnabledproperty,603ManageObjectLifeTimeproperty,603ObjectTypeproperty,603RolesEditform,PTWpf,603,603–604CslaDataProvidercontrol,224,315–319BeginQuerymethod,316BindsDirectlyToSourceproperty,607Buttoncontrolwithcommanding,607Cancelproperty,609CommandManagerproperty,607CslaDataProviderCommandManagerclass,318–319DoQuerymethod,317–318IsAsynchronousproperty,315,316IsInitialLoadEnabledproperty,316IsRefreshDeferredproperty,316ManageObjectLifetimeproperty,317OnQueryFinishedmethod,318,319Rebindmethod,609RolesEditformcontents,608WPF,583CslaDataProviderCommandManagerclass,318–319CslaDataSourcecontrol,327–329applicationconfiguration,PTWeb,629ProjectEditwebform,PTWeb,663properties,658supportinggraphicaldesigner,650CslaDataSourceXyzclasses,328CslaDesignerDataSourceViewclass,328CslaIdentityclassauthenticationclasses,Csla.
Security,356creatingcustomidentityclass,358,544DataPortal_Fetchmethod,358,359PTIdentityclassand,546CslaKey.
snkfile,210CslaPrincipalCacheSizekey,693CslaPropertyChangedModekey,593CslaQueryProviderclass,405,407CSSstylesheetthemes,PTWebproject,635cultureseelocalizationCurrentPrincipalclass,215CurrentUICulturesetting,482customauthentication,60–61,355–360authenticationclassesinCsla.
Security,356configuringCSLA.
NET,356creatingcustomidentityclass,358–359creatingcustomprincipalclass,357–358CSLA.
NETdesignbenefits,124CSLA.
NETframework,91–92CslaAuthenticationkey,593customprincipalobjectinheritance,353MembershipProviderauthentication,359–360messageobjects,80PTWebproject,630settingservercontext,482,483WPF,584–585733INDEXcustomauthentication,PTracker,543–546objectdesign,122PTIdentityclass,545PTPrincipalclass,543–545customauthentication,WCFservices,685–701acquiringX.
509certificate,686clientconfiguration,700–701creatingtestcertificate,686–689customauthorizationpolicy,695–697customUserNamePasswordValidator,694–695messagesecurity,689–692modifyingPTPrincipal,693–694providingusernamefromclient,699–700serverconfiguration,697–699usernamecredentials,692–693custommembershipprovider,PTWeb,640–642customrulemethods,Projectclass,527–528CustomerDalobject,550,555CustomIdentityclassGetIdentitymethod,92IsAuthenticatedproperty,92UnauthenticatedIdentitymethod,92DDalLinqproject,ProjectTracker,557559dataapplicationdata,20businessobjectsassmartdata,24–25dataaccess,494–508businesslogicseparation,547channeladapterbehaviors,421–424,445–462ConnectionManagerclass,496–498contextandlocationtransparency,428–431,480–484ContextManagerclass,499CSLA.
NETdesignbenefits,123DataMapperclass,503–508distributedtransactionsupport,427–428,462–468managingdatabaseconnectionsandcontexts,495–499messagerouterfunctionality,424–427,468–480ObjectContextManagerclass,499#regiondirective,166SafeDataReaderclass,499–503separationofbusinesslogicand,420SmartDatetype,494TransactionScopeobject,495dataaccesscode,ProjectTracker,557DataAccesslayer,12–13,14businesslogic,20businesslogiclocations,22encapsulation,34highsecuritywebclient,18high-scalabilitysmartclient,15interactingwith,548mobilebusinessobjects,23mobileobjects,27logicalarchitectureand,28,29dataaccesslayerdesign,547–556balancingdesignissues,554–556commondesigns,548complexity,554dataaccessmodels,548–553encapsulation,554,555–556layering,554performance,554dataaccessmethodsBusinessBaseclass,64childobjects,DataPortal,455dualdataaccessmethods,185–187rootobjects,DataPortal,450–455dataaccessmodels,548–553DataPortal_Xyzmethods,548–551invokingseparatedataaccess,549–551puttingdataaccesscodeinto,549ObjectFactoryattribute,548,551–553webapplications,620dataaccessobjects,556LINQtoSQL,556–557ProjectTracker.
DalLinqproject,557–559DataAccessregion,169dynamiceditablecollections,201editablechildcollections,191editablechildobjects,182editablerootcollections,189editablerootobjects,177ExistsCommandclass,580–581name/valuelistobjects,199Projectclass,562–569DataPortal_Xyzmethods,563–569ProjectResourceclass,571–574ProjectResourcesclass,530,570read-onlyobjects,193ResourceListclass,576RoleListclass,575Rolesclass,577–578switchableobjects,184databindingapplicationdesignsupporting,50–54Authorizercontrol,324–326benefitsofusingin.
NET,50BindableBaseclass,73BindingListclass,73,238,295BindingSourcecontrol,303,304–305BindingSourceRefreshcontrol,302–304734INDEXBusinessBasefunctionality,220BusyAnimationcontrol,323collectioninterfacessupporting,52CollectionChangedevent,52creatingchildobjects,150CSLA.
NETframework,72–74CslaActionExtendercontrol,305,308–311CslaDataProvidercontrol,315–319CslaDataSourcecontrol,327–329DataDecoratorBasecontrol,324enablingobjectsfor,51–52eventsandserialization,52–54ExtendedBindingListclass,74FilteredBindingListclass,74grid-basedbinding,52IBindingListinterface,52,72,73,295IBindingListViewinterface,295ICancelAddNewinterface,72,295IDataErrorInfointerface,54,72,73,294–295IEditableObjectinterface,51,72,73,291–294INotifyCollectionChangedinterface,52,72,73INotifyPropertyChangedinterface,51,72,73,289–290INotifyPropertyChanginginterface,51,72,291IRaiseItemChangedEventsinterface,72,295.
NETFrameworkinterfaces,72nullvalues,488ObjectDataProvidercontrol,315ObjectStatuscontrol,326–327ProjectEditform,PTWpf,615propertiescontrollingeditablecollections,577PropertyChangedevent,51,266,303PropertyChangingevent,51PropertyStatuscontrol,319–323ReadWriteAuthorizationcontrol,296–302ResourcesDataSourcecontrol,668settingDataContext,615SortedBindingListclass,74undofunctionality,370valueconverters,591WPF,583databinding,WebForms,327–329databinding,WindowsForms,287–312applyingauthorizationrules,299–302collectiondatabinding,295–296controlsandhelperobjects,296–311objectdatabinding,287–295workingwithmultiplerootobjects,311–312databinding,WPF,312–327collectiondatabinding,315controlsandhelperobjects,315–327objectdatabinding,312–314datacentricobjectmodel,56datacontention,6datacontractelement,WCF,681datafocuseddesign,104Datafolder,208DatalayercommunicatingwithBusinesslayer,5n-layer(logical)architecture,3Datanamespace,97dataportalserverapplicationconfiguration,PTWpf,595–596configuringWCFdataportalserver,631–633localmode,595dataportals,77–91applicationconfiguration,PTWeb,630,631applicationconfiguration,PTWpf,594areasoffunctionality,78asynchronousbehaviors,432–433authorizingservercalls,431–432baseclasssupport,434,442behaviors/methods,84–91benefitsof,77channeladapterdesignpattern,421–424,445–462ChildDataPortalclass,479–480client-sideDataPortal,78–79client-sideproxyclasses,78,79–80consistententrypointtoapplicationserver,77contextandlocationtransparency,428–431,480–484CSLA.
NET,148dataaccessinObjectFactory,551datapassedto/fromserver,81dataportaldesign,420–434DataPortalSelectorclass,469–470description,59,419designpatterns,421distributedtransactionsupport,427–428,462–468FactoryDataPortalclass,426,476–479FactoryDataPortalobject,425IDataPortalProxyinterface,458IDataPortalServerinterface,457–458IDataPortalTargetinterface,265localdataportals,630,703messageobjects,78,80–81messagerouterdesignpattern,421,424–427,468–480methodsexposedbydataportalserver,425mobileobjects,420,485objectfactoryclasses,433–434objectfactorymodel,78,84,548,551reflectionanddynamicmethodinvocation,442–445remotedataportals,163,631,704735INDEXRunLocalattribute,445–446separationofbusinesslogicanddataaccess,420server-sidechilddataportal,78server-sidedataportal,78,82–83server-sidehostobjects,78,81–82ServicedDataPortalclass,426,466–467SimpleDataPortalclass,425,426,470–476transactionmodels,82Transactionalattribute,462transactionaloptionssupportedby,428TransactionalDataPortalclass,426,467–468WCFserviceinterface,703,704WcfPortalclass,460–462dataprovidercontrolsProjectEditform,PTWpf,613–615dataprovidersCslaDataProvidercontrol,315ObjectDataProvidercontrol,315datasourcecontrolsCslaDataSource,663ProjectDataSource,666–668ProjectListDataSource,659ResourceListDataSource,671ResourcesDataSource,668–670RoleListDataSource,670RolesDataSource,648datastackingseestackingdataDataStorageandManagementlayer,13–14businesslogiclocations,21datatransferobject(DTO),24,495,503datavalidationseevalidationdatabaseconnectionsavoidingoverheadofDTC,487,494connectionmanagertypes,495ConnectionManagerclass,496–498ContextManagerclass,499managingdatabaseconnections,495ObjectContextManagerclass,499databasedesignseePTrackerdatabasedesigndatabasediagrams,PTracker,131databaseformatdatehandlingwithSmartDate,494DataBindmethod,653DataChangedevent,589,603DataChangedproperty,603DataContexttypecreatinginstanceof,499RolesEditform,PTWpf,604DataContextChangedevent,324DataContractattribute,164,165creatingmobileobjectsinWCF,31ObjectClonerclass,237passingmobileobjectsbyreference,33usinginbusinessclasses,166WCFservices,681–683,706WcfPortalclass,461DataContractSerializerclass,164,461DataDecoratorBasecontrol,324DataKeyNamespropertyDetailsViewcontrol,652GridViewcontrol,650,654,657,660,662DataMapclass,508DataMapperclass,93,95,503–508datatransferobjects(DTOs),503datatransferusing,495GetPropertiesmethod,506GetSourcePropertiesmethod,506GetValuemethod,507IDictionaryinterface,503,505–506IsBrowsableproperty,506Mapmethod,505,506,507,508,652,667mappingfromobjects,506–507withDataMap,507–508reflection,503settingvalues,504–505SetValuemethod,504,505,506,507WCFservices,708,709DataMemberattribute,165creatingmobileobjectsinWCF,31serializationengines,164usinginbusinessclasses,166WCFservices,682,683,706WcfPortalclass,461DataObjectFieldattribute,521,522DataPortalclass,224,446–457,462–466asynchronousbehaviors,432baseclasssupportfordataportals,435channeladapterbehaviors,445–462channeladapterdesignpattern,423childobjectdataaccessmethods,455ClearContextmethod,483client-sideDataPortal,78–79client-sideproxyclasses,79Createmethod,84–86,454creatingchildobjects,151creatingrootobjects,148distributedtransactionsupport,465CreateChildmethod,151,570,571creatingproxyobject,448–450Deletemethod,90–91,454deletingrootobjects,160distributedtransactionsupport,465description,419determiningnetworkprotocol,448distributedtransactionsupport,462–466events,447Executemethod,198,580736INDEXFetchmethod,86–87,450–453distributedtransactionsupport,463–465retrievingrootobjects,153FetchChildmethod,570,571messageobjects,80messagerouterdesignpattern,423,425methodsexposedbydataportalserver,425methodsforchildobjects,447methodsforrootobjects,446rootobjectdataaccessmethods,450–455RunLocalattribute,79SetContextmethod,216,481Transactionalattribute,427transactionalcontexts,427Updatemethod,87–90,454–455adding/editingrootobjects,156distributedtransactionsupport,465–466UpdateChildmethod,441,442DataPortalevents,447DataPortal_Createmethod,85,86seealsoCreatemethod,DataPortalcreatingchildobjects,152creatingrootobjects,148,150declaringchildproperties,280editablechildobjects,183invoking,446Projectclass,563–564RunLocalattribute,445,446DataPortal_DeletemethodseealsoDeletemethod,DataPortalinvoking,446Projectclass,561,569rootobjects,160DataPortal_DeleteSelfmethod,88,90,91seealsoDeleteSelfmethod,childobjectsdeterminingmethodname,466invoking,446processingBusinessBaseobject,475Projectclass,568–569rootobjects,156,158,161DataPortal_ExecutemethodseealsoExecutemethod,DataPortalcommandobjects,198CommandBaseclass,68,466executingworkflowfrombusinessobject,515ExistsCommandclass,580,581invoking,446processingCommandBaseobject,475DataPortal_Fetchmethod,86seealsoFetchmethod,DataPortalCslaIdentityclass,358,359declaringchildproperties,280,281dynamiceditablecollections,201dynamiceditablerootobjects,202editablerootcollections,189Fetchmethod,SimpleDataPortal,473invoking,446invokingseparatedataaccess,550lazyloadingchildobjects,282modifyingPTPrincipal,WCF,694preservingencapsulation,555Projectclass,561,564–566puttingdataaccesscodeinto,549read-onlycollections,195read-onlyobjects,193ResourceListclass,576retrievingchildobjects,155retrievingrootobjects,153,154RoleListclass,575DataPortal_InsertmethodseealsoInsertmethod,childobjectsdeterminingmethodname,466invoking,446processingBusinessBaseobject,475Projectclass,566–568,570rootobjects,156,158DataPortal_OnDataPortalExceptionmethod,470,474DataPortal_OnDataPortalInvokemethod,470,473,476,578DataPortal_OnDataPortalInvokeCompletemethod,470,476,578DataPortal_Updatemethod,88seealsoUpdatemethod,DataPortaldeterminingmethodname,466editablerootcollections,189invoking,446processingBusinessBaseobject,475processingotherobjects,476Projectclass,568,570Rolesclass,578rootobjects,156,158DataPortal_XyzmethodsBusinessBaseclass,65BusinessListBaseclass,66consistentcodingmodelforrootobjects,421dataaccesslayerdesigns,548dataaccessmodels,548–551declaringchildproperties,279–280dynamiceditablerootobjects,202editablerootobjects,177,179EditableRootListBaseclass,67invokingseparatedataaccess,549–551puttingdataaccesscodeinto,549settingupProjectTracker,519SimpleDataPortalclass,470switchableobjects,185737INDEXDataPortalClientfolder,208DataPortalClientnamespace,97DataPortalContextclass,480–483clearingservercontext,483contextdatawithin,429contextdata/information,429contextpassingandlocationtransparency,431rootobjectdataaccessmethods,452settingservercontext,481–483DataPortalContextproperty,448DataPortalEventArgsclass,423,448DataPortalExceptionclass,484contextdatawithin,430contextpassingandlocationtransparency,431DataPortalSelectorrouting,470Fetchmethod,SimpleDataPortal,474rootobjectdataaccessmethods,453DataPortalInvokeevent,447,452DataPortalInvokeCompleteevent,447,453DataPortalMethodCacheclass,452DataPortalMethodInfoclass,464,452DataPortalProxyproperty,214,449DataPortalResultclass,429,430,431,473,484DataPortalSelectorclass,462,465,469–470DataPortalUrlproperty,214DataPropertyChangedmethod,324DataReaderobjects,620SafeDataReaderclass,500DataSetobjects,24,620,621DataSourcepropertyapplyingauthorizationrules,299BindingSourcecontrol,306,310,717CslaActionExtendercontrol,309DataSourceIDproperty,650DataTemplateelementGridcontrol,RolesEditform,604,605ListBoxcontrol,610ProjectEditform,615RolesEditform,608datefieldSmartDatetype,490,491,493datefunctionsdatehandlingwithSmartDate,493datehandlingwithSmartDate,488–494conversionfunctions,491–492databaseformat,494datefunctions,493empty/blankdates,488initializingstructs,490–491supportingemptydates,491textfunctions,492–493Dateproperty,493datesseealsoSmartDatetypeconversionfunctions,491–492supportingemptydates,491workingwithemptydatevalues,96DateTimeproperty,591DateTimetypeDateproperty,493empty/blankdates,488,500,502GetDateTimemethod,502inheritancefrom,489Projectclass,PTracker,523SmartDatetype,93,488,489workingwithemptydatevalues,96DateToStringmethod,492,493DCOM(DistributedComponentObjectModel),7debuggingmessageobjects,80DeclaringTypeproperty,444decompositionobject-orientedapplicationdesign,102DecoratedRuleArgsclass,334,349–350DecrementCountmethod,345Defaultform,PTWeb,629defaultvaluesloadingfromdatabase,183Roleclasssetting,541–542Default.
aspxpage,PTWeb,627,634defaultFormatfield,SmartDate,490DefaultPopupTemplateelement,320DefaultRolemethod,536,571deferreddeletion,rootobjects,161,178DeferredLoadIndexIfNotLoadedmethod,239DeferRefreshmethod,614delegates,40,53,55RuleHandlerdelegate,75,332–333DeletemethodIsDeletedproperty,271ObjectFactoryclass,169Deletemethod,DataPortal,90–91,425,446seealsoDataPortal_Deletemethoddeletingrootobjects,160distributedtransactionsupport,465rootobjectdataaccessmethods,454deleteoperation,dataportals,81,82,90deleteAssignmentprocedure,PTracker,136DeleteChildmethod,182,390BusinessListBaseclass,386IsDeletedproperty,271deletedobjectcollection,387–391DeletedListcollectionAcceptChangesmethod,396BusinessListBaseclass,386,387CopyStatemethod,392738INDEXdeletingchildobjects,387UndoChangesmethod,394,395DeleteObjecteventCslaDataSourcecontrol,329ProjectDataSourcecontrol,668ProjectEditwebform,666ProjectListDataSourcecontrol,659ResourcesDataSourcecontrol,669RolesDataSourcecontrol,650,655DeleteProjectmethod,660,668deleteProjectprocedure,PTracker,134,569deleteResourceprocedure,PTracker,137deleteRoleprocedure,PTracker,139DeleteSelfmethod,childobjects,159seealsoDataPortal_DeleteSelfmethoddeletingobjectschildobjects,158–160deferred/immediatedeletion,161editablerootobjects,178IsDeletedproperty,businessobjects,271–272rootobjects,160–161demilitarizedzone(DMZ),18DenyExecutemethod,364DenyReadmethod,364DenyWritemethod,364dependencypropertiesTitleproperty,EditFormcontrol,588DependencyPropertyfield,WPF,321DeRefmethod,498Descriptioncolumn,Projectstable,130DescriptionpropertyProjectclass,522RuleArgsclass,76,333,347,348deserializationeditablecollections,283designapplicationdesigngoals,38–61dataaccesslayerdesign,547–556frameworkdesign,61–96WebFormsuserinterface,627–646WPFuserinterface,585–616Designnamespace,98designpatternschanneladapterdesignpattern,421–424,445–462messagerouterdesignpattern,424–427,468–480DesignerCategoryattribute,297DetachSourcemethod,322DetailsViewcontrolchoosingdatasourcefor,648CommandFieldcolumn,662,672ItemCreatedevent,665ItemDeletedevent,668ItemInsertedevent,653,667ModeChangedevent,653ProjectEditform,PTWeb,661,665,668,672RolesDataSourcecontrol,651Diagramsfolder,209DictionaryindicesonDictionaryproperties,409directorystructure,208dirtyobjectsIsDirtyproperty,268–269IsSelfDirtyproperty,265–268DirtyWarningMessageproperty,309DisableIEditableObjectproperty,292DisableWhenCleanproperty,310DispatchTimerclass,323Disposemethod,162,163,496,498DisposeRuntimemethod,511,513disposingofobjectsseeobjectdisposaldistributedapplicationsmobileobjects,26passingbyreference/value,33proceduralmodel,27distributedarchitecturesframeworksand,34–35logicalandphysicalarchitectures,1–19managingbusinesslogic,19–34DistributedComponentObjectModel(DCOM),7DistributedTransactionCoordinatorseeDTCdistributedtransactionsupport,427–428,462–468Transactionalattribute,462distributedtransactions,427COM+transactionalcontext,466DataPortalclass,462–466DTC,427ServicedDataPortalclass,466–467transactionaloptionssupportedbydataportal,428TransactionalDataPortalclass,467–468TransactionalTypesenumeration,428,462TransactionScopeobject,427DMZ(demilitarizedzone),18DockPanelcontrol,MainForm,589domains,24domainsoftrust,7,8DoQuerymethod,317–318DoWorkevent,456DropDownListcontrols,PTWeb,662DTC(DistributedTransactionCoordinator)avoidingoverheadof,487,494managingdatabaseconnections,495DTO(datatransferobject),24,495,503739INDEXdualdataaccessmethods,185–187dualfactorymethods,switchableobjects,185duplicateobjects,PTrackerdesign,111duplicatevalues,Roleclasspreventing,542–543dynamiceditablecollectionstereotype,199–201dynamiceditablecollections,199–201dynamiceditablelistobjects,147dynamiceditablerootobjects,147,201–202dynamicmethodinvocation,442dynamicrootlistobjects,63,67DynamicInvokemethod,LINQ,410,413DynamicMethodHandleclass,443DynamicMethodHandlerFactoryclass,443Eedgeapplication,2SOAterminology,676editlevel,385AcceptChangesmethod,395UndoChangesmethod,380,394editleveltracking,BusinessListBase,385editablechildcollections,190–191editablechildlistobjects,63,67CSLA.
NETobjectstereotypes,146editablechildobjects,63,65,180–184CSLA.
NETobjectstereotypes,146loadingdefaultvaluesfromdatabase,183ProjectResourceclass,532ProjectTrackerobjects,517statemanagement,184editablecollectionsdynamiceditablecollections,199–201parenteditablecollection,283–285propertiescontrolling,577updatingeditablecollections,441–442editableobjectsCSLA.
NETterminology,144IsDeletedproperty,158IsNewproperty,158objectstatusproperties,263–272parenteditableobject,273–283switchableobjects,184updating,156–160editablerootbusinessobjects,ProjectTracker,517editablerootclasses,PTracker,520,560editablerootcollections,187–190editablerootlistobjects,63,66CSLA.
NETobjectstereotypes,146editablerootobjects,63,64,65,174–180CSLA.
NETobjectstereotypes,146deletion,178dynamiceditablerootobjects,201–202ObjectFactoryattribute,179–180statemanagement,179EditableRootListBaseclass,62,67,224Child_Xyzmethods,67Cslanamespaceclasses,213DataPortal_Xyzmethods,67determiningusereditingchildobject,384dynamiceditablecollections,200regionsininheritedclasses,168EditFormclass,PTWpf,586,587–589,602,603ApplyAuthorizationmethod,588behaviorsimplementedin,587DataChangedevent,589errorhandling,587,589principalchanges,587,588Titleproperty,587,588TitleChangedevent,588editingchildobjects,158–160editingrootobjects,156–158EditLevelproperty,236EditLevelAddedproperty,386,396EditorBrowsableattribute,290ElementTypeproperty,404Employeeclass,PTracker,109,110,111emptydatevalues,SmartDate,491emptyfields,DateTimetype,500emptyvaluesbooltype,502DateTimedatatype,502GetEmptyValuemethod,301nullvalues,500ReturnEmptymethod,301SmartDatetype,489,491,502StringToDatemethod,491EmptyListmethod,576emptyValuefield,SmartDate,490,491,493Enabledproperty,300,302encapsulationbreaking,555–556businessclasses,38CSLA.
NETdesignbenefits,123DataAccesslayer,34dataaccesslayerdesign,554,555–556description,24,57,369InterfaceControllayer,34mobileobjects,34n-levelundofunctionality,370ObjectFactorybreaking,551,555object-orientation,420preservingencapsulation,57–58,555webservicesreturningobjects,503workflows,509Endedproperty,Projectclass,523,526740INDEXEndEditmethodBindingSourcecontrol,304IEditableObjectinterface,291,292,293endpointconfiguration,WCFservices,679–680endpointdefinition,WCFservices,679,684endpointelement,WCF,691EndPointproperty,WcfProxy,459EndWorkflowmethod,511EnterpriseServicesserver-sidehosting,81WCFand,675EnterpriseServices(MTS/COM+),82EnterpriseServicesproxy,79EnterpriseServicestransactionoption,82,83EnterpriseServicestransactiontypeDataPortaltransactionalcontexts,428routingcalltodataportal,462,464EnterpriseServices.
dll,ProjectTracker,518EnterpriseServicesPortalclass,424,518EnterpriseServicesProxyclass,424entities,PTrackerobjectdesign,108EntityFramework,ADO.
NET,556equality,logical,525errorhandlingEditFormcontrol,PTWpf,587,589Errorproperty,294ErrorCountproperty,345ErrorEncounteredevent,310ErrorLabelcontrolProjectEditwebform,663RolesEditwebform,647ErrorProvidercontrol,296Evaluatemethod,696EventHandlertemplate,DataPortalevents,448eventsChildChangedevent,276–278databinding,52–54DataPortalInvokeevent,447DataPortalInvokeCompleteevent,447delegatesand,53inheritanceand,290ListChangedevent,283–285parent-childinteraction,274raisingforWindowsForms,268raisingforWPF,268EventTrackingEnabledattribute,467Exceptionclass,346exceptionhandlingBusinessBaseclass,65DataPortalExceptionclass,484messageobjects,80rootobjectdataaccessmethods,453ValidationExceptionclass,346Exceptionproperty,DataPortalEventArgs,448exceptionsDataPortalExceptionclass,430ValidationExceptionclass,346Executemethod,DataPortalcommandobjects,198,580description,446processingCommandBaseobject,475purpose,425Executemethod,IQueryProvider,406,407,408executeoperation,dataportals,81,82ExecuteReadermethod,501ExecuteWorkflowmethod,511–512,513,514,515ExecutionLocationproperty,214,215,482ExistsmethodProjectclass,543,579–581Resourceclass,581Existsregion,520ExistsCommandclass,PTracker,579–581DataAccessregion,580–581DataPortal_Executemethod,580,581FactoryMethodsregion,580ProjectExistsproperty,580expressionevaluation,410ExpressionobjectsNodeTypeproperty,413Expressionproperty,404,405expressiontrees,LINQ,405ExtendedBindingListclass,74,231,232AddRangemethod,74,223ChildChangedevent,74editablecollections,284IsBusyproperty,74IsSelfBusyproperty,74ListChangedevent,74PropertyChangedevent,74RemovingItemevent,74,223extendercontrols,296ApplyAuthorizationproperty,298–299applyingauthorizationrules,299–302BindingSourceRefreshcontrol,302GetApplyAuthorizationmethod,298,299IExtenderProviderinterface,297SetApplyAuthorizationmethod,298externalapplications,7Ffactoryclassesobjectfactoryclasses,169–170Factorydesignpatternclass-in-chargemodel,48–50741INDEXfactorymethodsbaseclasssupport,dataportals,435,436creatingchildobjects,150,151creatingrootobjects,148dualfactorymethods,185editablechildcollections,191#regiondirective,166retrievingchildobjects,155retrievingrootobjects,153FactoryMethodsregion,168commandobjects,198dynamiceditablecollections,201editablechildobjects,182editablerootcollections,189editablerootobjects,177ExistsCommandclass,580name/valuelistobjects,199Projectclass,560–562ProjectResourcesclass,530,569–570,571read-onlycollections,195read-onlyobjects,193ResourceListclass,576RoleListclass,574–575Rolesclass,577factoryobjectsseealsoobjectfactorymodelbreakingencapsulation,551objectfactoryloaderclass,169FactoryDataPortalclass,476–479DataPortalSelectorrouting,470FactoryLoaderproperty,454,476–477Fetchmethod,477InvokeMethodmethod,478–479messagerouterdesignpattern,425,426methods,477FactoryLoaderproperty,476–477Updatemethod,DataPortal,454FactoryMethodproperty,603FalseTemplateproperty,592faultcontractelement,WCF,681faultcontracts,XMLservices,683faulttoleranceDataAccesslayerand,12optimalperformancewebclient,18physicalmodel,8–9FaultContractattribute,WCF,681,683–684FaultException,WCFservices,709FetchmethodChildDataPortalclass,479dynamiceditablerootobjects,202FactoryDataPortalclass,477ObjectFactoryclass,169,551SimpleDataPortalclass,470–474WcfPortalclass,461Fetchmethod,DataPortal,86–87,425,446,463–465seealsoDataPortal_Fetchmethodmessagerouterfunctionality,470–474retrievingrootobjects,153rootobjectdataaccessmethods,450–453fetchoperation,dataportals,81,82,86FetchChildmethodchildobjectdataaccessmethods,455DataPortalclass,570,571dynamiceditablerootobjects,202FetchCompletedevent,433,457fieldmanager,252–261adding/editing/deletingchildobjects,159consistentcodingmodelforchildobjects,421updatingchildobjectswith,441FieldDataclass,257FieldDataDeserializedmethod,276,278FieldDataManagerclass,253–261CreateConsolidatedListmethod,254generatingconsolidatedpropertylist,254–256GetConsolidatedListmethod,254GetFieldDatamethod,258gettingfieldvalues,258–259IFieldDatainterface,256,257SetFieldDatamethod,259,261settingfieldvalues,259–261snapshots,378UpdateChildrenmethod,441FieldExistsmethod,281FieldInfoobjectsDataMappermappingfromobject,508FieldManagerclasschildobjectreferencefields,248IPropertyInfoobjects,241UpdateChildrenmethod,159FieldManagernamespace,250–252FieldManagerproperty,253fieldsavoidingdouble-processingof,377gettinglistof,377skippingNotUndoablefields,377takingsnapshotof,379FilteredBindingListclass,74finalizingobjects,162–163FindChildBindingsmethod,324FindCustomerRequestclass,682FindCustomerResponseclass,682FindMethodmethod,443FindPrivateKeyapplication,687findValueproperty,serviceCertificate,690firewallsdemilitarizedzone(DMZ),18742INDEXFirstNameproperty,Resourceclass,537folders,CSLA.
NETframework,208forceLocalparameter,proxyobjects,449foreignkeyrelationshipsnullvalues,499Formatevent,Bindingobjects,300formatfield,SmartDatetype,490,492FormatStringproperty,SmartDate,492forms,PTWebASP.
NETmembershipservice,645–646contentpages,634Defaultform,629,634forms-basedauthentication,639–644Loginform,629,638–646masterpage,629,634–638ProjectEditform,629,634,661–672ProjectListform,629,656–661ResourceEditform,629,646ResourceListform,629,646RolesEditform,629,646–656Windowsintegratedsecurity,644forms,PTWpf,586EditFormclass,587–589Loginform,600–601MainFormclass,589–590MainFormwindow,596–600ProjectEditform,612–616ProjectListform,611–612ResourceListform,609–611RolesEditform,602–609forms-basedauthentication,PTWebconfiguringwebsite,639–640custommembershipprovider,640–642loginpage,639–644reloadingprincipalobject,642–644FoundBindingmethod,324frameworkdesign,61–96seealsoapplicationdesignbusinessobjectcreation,61–69businessrules,74–77customauthentication,91–92databinding,72–74dataportals,77–91helpertypesandclasses,93–96high-levelguidelines,38integratedauthorization,92–93n-levelundofunctionality,69–72validationrules,74–77frameworks,34–35,61seealsoCSLA.
NETframeworkFullNamepropertyProjectEditcontrol,616RuleMethodclass,335Ggarbagecollection,162genericclassesinheritingfromnon-genericbaseclasses,64Genericnamespace,42generictypes,42CSLA.
NETframework,232polymorphism,64,231,232Generic.
xamlfile,320GenericPrincipalclass,355generics,42getblock,PTracker,522,524GetAllowGetRolesmethod,363GetApplyAuthorizationmethod,298,299GetBaseExceptionmethod,430GetBooleanmethod,502GetChildmethod,280,282GetChildItemTypemethod,230GetClientContextmethod,218GetConsolidatedListmethod,254GetDatamethod,threads,217GetDataPortalProxymethod,449,452GetDateTimemethod,502GetDefaultAssignedDatemethod,535GetDenyGetRolesmethod,363GetEditableChildmethod,182GetEditableChildListmethod,191GetEmptyValuemethod,301GetFactorymethod,477GetFactoryTypemethod,477GetFieldDatamethod,258GetFirstBrokenRulemethod,345GetFirstMessagemethod,345GetFormattermethod,237GetHashCodemethod,409GetIdentitymethod,92,545,694GetIdValuemethod,524GetItemmethod,530,531GetListmethod,574,671GetManagermethod,338,498GetMaxmethod,541GetMethodmethod,443GetMethodInfomethod,466GetNameDataSlotmethod,217GetObjectFactoryAttributemethod,469GetObjectTypemethod,444GetOrdinalmethod,501GetParameterTypesmethod,444GetProjectmethod,561,664,665,667getProjectstoredprocedure,LINQtoSQL,558GetProjectListmethod,611,659,707–708GetPropertiesmethod,506743INDEXGetPropertymethodBusinessBaseclass,242,245childobjectreferencefields,248integratedauthorization,92per-propertyauthorization,364privatebackingfields,246Projectclass,PTracker,521PropertyInfoclass,226Resourceclass,PTracker,537GetPropertyConvertmethod,247,524GetPropertyDescriptormethod,285GetPropertyListCachemethod,251,252GetPropertyNamemethod,348GetPropertyTypemethod,230,504GetRegisteredPropertiesmethod,252GetResourcemethod,533,571,572getResourcestoredprocedure,LINQtoSQL,558GetResourceListmethod,576,671GetRoleByIdmethod,540,654GetRolesmethod,361,577,649getRolesprocedure,PTracker,138GetSmartDatemethod,502GetSourcePropertiesmethod,506GetStringmethod,501GetValuemethod,378,507GlobalAssemblyCache(GAC),639globalcontextdata,484GlobalContextcollection,429,430,453GlobalContextproperty,214,216,219,457granularity,27graphicaluserinterface(GUI),10Gridcontrol,ProjectEditform,615Gridcontrol,RolesEditform,604–607DataTemplateelement,604,605ListTemplateConverterelement,604PropertyStatuscontrol,605,606read-onlytemplate,604read-writetemplate,605–607TextBoxcontrol,605Gridelement,PropertyStatus,321grid-basedbinding,52GridViewcontrolBoundFieldcolumn,650choosingdatasourcefor,648columns,657CommandFieldcolumn,650,653,656,659,661,663DataBindmethod,653DataKeyNamesproperty,654,657,660enablingpagingfor,658Idcolumn,650,657,660Namecolumn,650,657,659PageSizeproperty,658ProjectEditwebform,662,663,669,670RolesEditwebform,649SelectedIndexChangedevent,657GUI(graphicaluserinterface)Interfacelayer,10Guidclass,49Hhackers,7HandleTargetmethod,322HasBrokenRulesevent,311headerregion,PTWeb,636,637helpertypesandclasses,93–96high-scalabilitysmartclient,15–16,27high-securitywebclient,18,27hostobjects,server-side,81–82hostshostingPTWebsiteinIIS,633server-sidehostclasses,78Hostsnamespace,97HttpContextclass,217HybridDictionaryclass,376,379–380,381IIAuthorizationPolicyinterface,695IAuthorizeDataPortalinterface,431,483Authorizemethod,432,464IAuthorizeReadWriteinterface,296,300Authorizercontrol,324propertyandmethodlevelauthorization,365typesimplementingauthorization,360IBindingListinterface,52,72,73,295,315IBindingListViewinterface,295IBusinessObjectinterface,227,231,232–233IButtonControlinterface,305,308ICancelAddNewinterface,72,293,295ICheckRolesinterface,356,544ICloneableinterface,237ICollectionmethods,415ICommandObjectinterface,233IComparableinterface,336,403,409,489ICriteriainterface,203,204,223,426,427Idcolumn,GridView,650,657,660Idcolumn,Projectstable,129IdpropertyProjectclass,521ProjectResourcesclass,531Resourceclass,536ResourceInfoclass,538Roleclass,541,542,543IDataErrorInfointerfaceBusinessBaseinheritancehierarchy,288databinding,54,72,73744INDEXmaintaininglistofbrokenrules,76objectdatabinding,WindowsForms,288,294–295objectdatabinding,WPF,313validationandbusinessrules,40IDataPortalProxyinterface,423,448,458IDataPortalServerinterface,423,457–458,463,468IDataPortalTargetinterface,223,265,472IDataReaderinterface,500,502IDbConnectioninterface,497identityclasses,356,358–359identityelement,692,716identityobjects,91,353,354,545identityprojections,401handlingnon-identityprojections,407Identityproperty,358,543,544IdentityConverterclass,603,605IdentityFactoryclass,356IDictionaryinterface,503,505–506IDisposableinterface,162,163,496IEditableBusinessObjectinterface,233IEditableCollectioninterface,71,233IEditableObjectinterfaceBeginEditmethod,291,292BindingEditproperty,292,384BusinessBaseclass,288,384–385CancelEditmethod,291,293databinding,51,72,73DisableIEditableObjectproperty,292EndEditmethod,291,293n-levelundofunctionality,369objectdatabinding,288,291–294,312IEnumerableinterface,407IExtenderProviderinterface,296,297IFieldDatainterface,256,257IFormattableinterface,489IHoldRolesinterface,533,535IIdentityinterface,91,353IIndexinterface,409,414–415IIndexSetinterface,409,411–412IIS,81ASP.
NETsecurityand,639grantingaccesstotestcertificateto,WCF,687PTWebsitehosting,633PTWcfServicesitehosting,705,706immediatedeletion,rootobjects,160,178IMobileObjectinterface,229,254,489impersonateproperty,identityelement,644impersonation,61,428configuringASP.
NET,355WindowsIntegratedsecurity,431implementationcode,businessobjects,25IncrementCountmethod,344Indexclass,415–416indexmode,403indexset,409–410Indexableattribute,399,401,403,404Indexableproperty,409,410indexedLINQandCSLA.
NET,408–416indexedLINQqueries,400indexedsearchusingCSLA.
NET,403–404,410IndexFieldproperty,414indexingobjectmodel,411–416BalancedTreeIndexclass,416IIndexinterface,414–415IIndexSetinterface,411–412Indexclass,415–416IndexSetclass,412–414IRangeTestableIndex,416indexing,serializationand,403IndexingProviderproperty,403IndexModeXyzoptions,Indexableattribute,403,404IndexOutOfRangeExceptionconvertingtoInvalidOperationException,258IndexSetclass,412–414InformationCountproperty,345inheritanceavoidingdouble-processingoffields,377BindingListclass,52BusinessListBaseclass,222CSLA.
NETframework,207eventsand,290ObservableCollectionclass,52polymorphism,232RegisterPropertymethod,248,250staticfields,249InitializeBindingSourceTreemethod,306initializedfield,SmartDatetype,490,493InitializeRuntimemethod,511,512–513InnerExceptionproperty,430INotifyCollectionChangedinterface,52,72,73,315INotifyPropertyChangedinterfaceBusinessBaseinheritancehierarchy,288databinding,51,72,73objectdatabinding,WindowsForms,288,289–290objectdatabinding,WPF,312,313undofunctionality,373INotifyPropertyChanginginterface,51,72,288,291Insertmethod,childobjects,159,573seealsoDataPortal_InsertmethodInsertItemmethod,386,391,411InsertObjectevent,329,652,667,668,669745INDEXInsertViewcontrol,647Instanceproperty,LateBoundObject,473InstanceContextModevalue,WcfPortal,461IntegerMaxValuemethod,347IntegerMinValuemethod,347integratedauthorization,41,92–93integratedsecurity,60IntelliSense,290interdependentproperties,526–527InterfaceControllayer,10–11,14businesslogiclocations,21–22encapsulation,34mobilebusinessobjects,23mobileobjectsandlogicalarchitecture,28,29separationfromInterfacelayer,10interfacedesign,PTWeb,627–646applicationconfiguration,629–633loginpage,638–646masterpage,634–638sitesetup,633–634interfacedesign,PTWpf,585–616applicationconfiguration,593–596Loginform,600–601MainFormwindow,596–600projectsetup,596ProjectEditform,612–616ProjectListform,611–612ResourceListform,609–611RolesEditform,602–609usercontrolframework,587–590valueconverters,591–592Interfacelayer,3,5,10,14businesslogic,19optimalperformancewebclient,17interfacesbusinessobjects,25.
NETdatabindinginterfaces,72securityandexternalapplications,8internalapplications,7InternetInformationServicesseeIISInvalidateCachemethod,199,574,578InvalidatedCachemethod,578InvalidateIndexmethod,414InvalidOperationException,258Invokemethod,336InvokeMethodmethod,478–479IObjectFactoryLoaderinterface,477IParentinterface,278,279IPrincipalinterface,91,353,429,543IPrincipalvalue,482,483IPropertyInfointerface,227,241,256IPTServiceinterface,707IQueryableinterface,404–408IQueryProviderinterface,405,406–408IRaiseItemChangedEventsinterface,72,295IRangeTestableIndexclass,416IReadOnlyCollectioninterface,234IReadOnlyObjectinterface,234IRuleMethodinterface,335,339IsAsynchronousproperty,315,316,604,610IsAuthenticatedproperty,92,545ISavableinterface,231,234IsBrowsableproperty,506IsBusyproperty,74,232,274,610IsDeletedflag,UndoChangesmethod,395IsDeletedproperty,263,270,271–272editableobjects,158methods,271processingBusinessBaseobject,475Projectclass,PTracker,568ProjectResourceclass,PTracker,573Updatemethod,DataPortal,454IsDirtyproperty,263,270,268–269declaringchildproperties,280fieldmanager,253parenteditablecollections,283parent-childinteraction,274,276Projectclass,PTracker,522IsEmptyproperty,SmartDate,491,494IsEnabledproperty,326ISerializableinterface,31IsInitialLoadEnabledproperty,316,603,610,611IsInRolemethod,91,363,358,543,544IsInRoleProvider,214,360,363ISmartFieldinterface,230,231,235,489IsNewproperty,263,264–265editableobjects,158lazyloadingchildobjects,282Projectclass,568ProjectResourceclass,573IsNumericmethod,230IsPropertyImplementedmethod,298IsReadAllowedmethod,367IsReadDeniedmethod,367IsReadOnlypropertyAuthorizercontrol,326name/valuelistobjects,199read-onlycollections,195ReadOnlyBindingListclass,238ResourceListclass,576RoleListclass,575IsRefreshDeferredproperty,316IsRemotePortalflag,429IsRunningproperty,BusyAnimation,610IsSavableproperty,263,270ObjectStatuscontrol,326,327,604,608746INDEXIsSelfBusyproperty,74,232IsSelfDirtyproperty,263,265–268IsSelfValidproperty,263,269,275IsServerRemoteproperty,458ISupportUndointerface,71,231,235BusinessBaseclass,382–384n-levelundofunctionality,371,372IsValidproperty,263,269,270declaringchildproperties,280BrokenRulesCollectionclass,76parent-childinteraction,274,276parenteditablecollections,283Projectclass,522IsValidatingproperty,270ItemCreatedevent,665ItemDeletedevent,668ItemInsertedevent,653,667Itemscollection,217ITrackStatusinterface,231,236,264,275IUndoableObjectinterface,71,236,254n-levelundofunctionality,371,373IValueConverterinterface,591IWcfPortalinterface,460,461JJavaScriptObjectNotation(JSON)format,678Just-in-Time(JIT)compiler,377LLambdaExpressionparameter,LINQ,410LANs(localareanetworks),7LastChangedcolumn,Rolestable,129lastChangedparameter,Projectclass,567LateBoundObjectclass,443,445,472,473layersseealsotiers5-layerlogicalarchitecture,9–14Businesslayer,11–12cross-layercommunication,5DataAccesslayer,12–13dataaccesslayerdesign,554DataStorageandManagementlayer,13–14InterfaceControllayer,10–11Interfacelayer,10managingbusinesslogicinmultiplelayers,19–23n-layer(logical)architecture,2,3sharingbusinesslogicacrosstiers,22–23tablesummarizingrolesoflogicallayers,14lazyloading,childobjects,150,281–283leftevaluation,410Libraryclasslibraryproject,PTrackerAssignmentclass,534–535businessclasses,518businessobjects,519–543,546,559–581customauthentication,543–546Projectclass,520–529,560–569ProjectListclass,538,575ProjectResourceclass,530–534,569–570,571–574PTIdentityclass,545PTPrincipalclass,543–545Resourceclass,536–538ResourceInfoclass,538–539ResourceListclass,538,575–576Roleclass,541–543RoleListclass,536,574–575Rolesclass,539–541,577–578Librarynamespace,520lifecycle,businessobjectsseebusinessobjects,lifecycleofLineItemobjects,43,44,45linktables,130LinkButtoncontrol,651LINQCSLA.
NETclasssupport,73expressionevaluation,410expressiontrees,405indexedLINQandCSLA.
NET,408–416indexedLINQqueries,400indexedsearchusingCSLA.
NET,403–404indexingobjectmodel,411–416introduction,399IQueryableimplementation,404–408IQueryProviderinterface,406–408LINQtoCSLA.
NET,400–401managingindexset,409–410projection,401–402reducingcodewith,399–400Linqfolder,208Linqnamespace,97LINQtoObjects,400,401,407LINQtoSQLContextManagerclass,495dataaccessobjects,556–557expressiontrees,406Projectclass,567ProjectTracker.
DalLinqproject,557–559LINQtoXML,406LinqBindingListclass,401–402,406,407,408Listcollectiontype,42listobjects,144ListBoxcontrol,607,608,610ListChangedeventBindingListclass,232editablecollections,283–285ExtendedBindingListclass,74parent-childinteraction,274,276747INDEXListTemplateConverterclass,586,592ListTemplateConverterelement,604,608Loadmethod,412LoadCompletemethod,414LoadCustomDatamethod,359LoadDatamethod,552,553Loadedeventhandler,614Loadedproperty,414LoadPrincipalmethod,544,693,696,697LoadPropertymethod,244,245breakingencapsulation,556BusinessBaseclass,259childobjectreferencefields,248dataportalinvokingseparatedataaccess,550DataPortal_Createmethod,563declaringchildproperties,280,281preservingencapsulation,555LoadPropertyConvertmethod,565LoadPropertyValuemethod,243,260,276,278LoadWithmethod,566localareanetworks(LANs),7localdataportals,594,595,630,703localobjects,29,32LocalContextobjects,623LocalContextproperty,214,216,219,429localization,211,428,482LocalMachinecertificatestore,686,687LocalProxychannel,422LocalProxyclass,423,458–459,630locationtransparency,428–431,480–484lockstatements,338,339,362,497logicalarchitectureseealsolayers;physicalarchitecture3-layerlogicalmodel,55-layerlogicalarchitecture,9–14Businesslayer,11–12DataAccesslayer,12–13DataStorageandManagementlayer,13–14InterfaceControllayer,10–11Interfacelayer,10applying5-layerlogicalarchitecture,14–18high-scalabilitysmartclient,15–16high-securitywebclient,18optimalperformancesmartclient,14–15optimalperformancewebclient,17–18benefitofseparatinglayers,3logicalandphysicalarchitectures,1–19logicalmodel,5mappinglogicallayerstotechnologies,37mobileobjects,28n-layer(logical)architecture,2,3physicalarchitectureand,2physicaltiersdefining,3rulesforlogicallayers,5separationofbusinesslogicanddataaccess,420tablesummarizingrolesoflogicallayers,14logicalequality,525logicaltrustboundary,SOA,676loginandlogout,MainForm,598–600Loginbutton,MainForm,598Logincontrol,PTWeb,636Loginform,PTWpf,586,600–601LoginmethodASP.
NETmembershipservice,645authenticatingcredentials,685BusinessPrincipalBaseclass,357customauthentication,91,695forms-basedauthentication,641PTPrincipalclass,544–545,599,600Loginpage,PTWeb,629,638–646ASP.
NETmembershipservice,645–646forms-basedauthentication,639–644Windowsintegratedsecurity,644Loginprocedure,PTracker,140Login.
aspxpage,640LogInOutmethod,598,599,600,601LoginStatuscontrol,PTWeb,638Logoutmethod,358,545,638,644customauthentication,WCF,695,696MMainFormclass,PTWpf,589–590ShowControlmethod,589,611MainFormwindow,585,586,589–590,596–600DockPanelcontrol,589loginandlogout,598–600Loginbutton,598LogInOutmethod,598,599,600,601navigation,597–598MainViewcontrol,647,661makecert.
exe,686,687managedbackingfields,245,247–248,254ManageObjectLifetimeproperty,317,603manualinvocation,undofunctionality,370Manualtransactionoption,82,83Manualtransactiontype,428,462many-to-manyrelationships,130Mapmethod,505,506,507,508,652,667mappingDataMapperclass,503–508object-relationalmapping(ORM),56–57MarkAsChildmethodBusinessBaseclass,65BusinessListBaseclass,67creatingchildobjects,152748INDEXeditablechildcollections,190editablechildobjects,182,183,184lazyloadingchildobjects,282,283ObjectFactoryclass,170,552retrievingchildobjects,155MarkCleanmethod,266MarkDeletedmethod,161,271MarkDirtymethod,266MarkNewmethodIsNewproperty,businessobjects,265objectfactories,434ObjectFactoryclass,170,552processingBusinessBaseobject,475MarkOldmethoddynamiceditablerootobjects,202IsNewproperty,businessobjects,264objectfactories,434ObjectFactoryclass,170,552marshaling,29masterpage,PTWeb,629,634–638MasterPage.
master,PTWeb,634,635,636MasterPageFileproperty,646MaxLengthRuleArgsobject,526MaxValuemethod,347MemberAccessexpression,LINQ,413MemberExpressiontype,LINQ,410,413MembershipIdentityclass,356,359,645MembershipProviderauthentication,359–360MembershipProviderclass,640–642MemoryStreamclass,380messageobjects,dataportals,78,80–81messagerouterdesignpattern,421,424–427,468–480ChildDataPortalclass,479–480CriteriaBaseclass,426DataPortalclass,423,425DataPortalSelectorclass,426,469–470FactoryDataPortalclass,425,426,476–479ICriteriainterface,426,427MethodCallerclass,426server-sidedataportal,82ServicedDataPortalclass,426SimpleDataPortalclass,425,426,470–476SingleCriteriaclass,426TransactionalDataPortalclass,426typesrequiredfor,426messagerouters,424–427,468–480messagesecurity,WCF,689–692methodlevelauthorization,propertyand,364–367methodsignaturesdelegates,40RuleHandlerdelegate,75rules,332,333MethodCacheKeyclass,443MethodCallerclass,443,444channeladapterdesignpattern,423Fetchmethod,SimpleDataPortal,472GetObjectTypemethod,444messagerouterdesignpattern,426MethodInfoobject,465MethodNameproperty,337MethodsEquivalentfunction,408MethodTypeNameproperty,337MinValuemethod,347mobilebusinessobjects,23mobileobjects,26,28,31–32seealsobusinessobjectsdataportals,420,485description,59encapsulation,34passingbyreference,32–33passingbyvalue,33supportfor,419supportingphysicaln-tiermodels,59MobileListclass,222,225MobileObject,221,223ModeChangedevent,653modelsseealsoarchitecturesdatacentricobjectmodel,56logicalmodel,5modelsforUIdeveloper,45–50class-in-charge,48–50object-in-charge,48UI-in-charge,46–48physicalmodel,5–9relationalvs.
objectmodeling,54–55supportingphysicaln-tiermodels,58–60transactionmodels,82MouseDoubleClickevent,610MSMQ,WCFand,675multipleusershigh-scalabilitysmartclient,15MultiViewcontrolActiveViewIndexproperty,647,653ProjectEditwebform,PTWebproject,661RolesEditwebform,651PTWebproject,647NNamecolumn,GridView,650,657,659NamepropertyProjectclass,521ResourceInfoclass,538name/valuelistobjects,63,69,198–199commonregions,168CSLA.
NETobjectstereotypes,146filteringresults,574749INDEXProjectTrackerobjects,517RoleListclass,536,574NameObjectCollectionBaseclass,69namespacesCsla,97,212–230CSLA.
NETframework,96–98Csla.
Core,97,230Csla.
Data,97Csla.
DataPortalClient,97Csla.
Linq,97Csla.
Properties,97Csla.
Reflection,97Csla.
Security,97Csla.
Serialization,97Csla.
Server,97Csla.
Server.
Hosts,97Csla.
Validation,97,332–346Csla.
Web,97Csla.
Web.
Design,98Csla.
WebServiceHost,98Csla.
Windows,98Projectclass,PTracker,520NameValueCollectionclass,69NameValueListBaseclass,69,213name/valuelistobjects,198regionsininheritedclasses,168RoleListclass,125,536,574NameValueListBaseclass,63,69,98,225NameValuePairclass,199,226namingconventionsapp.
configfile,593navigationregion,PTWeb,637.
NETdevelopmentbenefitsofusingdatabinding,50.
NETFrameworkseealsoCSLA.
NETframeworkcreatingmobileobjectsin,31databindinginterfaces,72functionalityrequired,38mobileobjects,28staticfields,249NetDataContractSerializer(NDCS),164,165,461circularreferencesinobjectgraph,278serializing/stackingHybridDictionary,379networkcontention,6networklatency,6networkprotocol,DataPortal,447,448networkschanneladapterdesignpattern,422neverCommittedflag,ApplyEditmethod,384newkeywordcreatingchildobjects,150object-in-chargemodel,48usingfactorymethodsinstead,170newobjectsIsNewproperty,264–265NewChildmethod,248,280,282NewEditableChildmethod,183NewProjectmethod,561NewProjectResourcemethod,572NewProjectResourcesmethod,571n-layer(logical)architecture,2,3seealso5-layerlogicalarchitecture;logicalarchitecturen-levelundofunctionality,42–45,369–370seealsoundofunctionalityAcceptChangesmethod,381–382,395–396ApplyEditmethod,383–384BeginEditmethod,382BusinessBaseclass,70,220,382–385BusinessListBaseclass,385–397CancelEditmethod,383CopyStatemethod,374–380,391–392CSLA.
NET,69–72,123editleveltracking,385encapsulation,370IEditableObject,292,384–385implementing,370–397ISupportUndo,235,371,372,382–384IUndoableObject,371NotUndoableAttribute,71,371,372–373parent-childinteraction,274,279reactingtoInsert/Remove/Clearoperations,386–387removingchildobjectsfromcollection,285requirementfor,373serialization,70stackingdata,374typesrequiredby,371UndoableBaseclass,371,372,373–382UndoChangesmethod,380–381,392–395UndoException,371NoAccessBehaviortype,360NodeTypeproperty,413NoDuplicatesrulemethod,542noncollectionclasses,166non-publicdefaultconstructor,170non-serializableobjects,53NonSerializedattribute,53,164parent-childinteraction,277,278PropertyChangedevent,290normalizationrelationalvs.
objectmodeling,54normalizingbehavior,103,116–118NotUndoableAttribute,71AttributeUsageattribute,373n-levelundofunctionality,371,372–373parent-childinteraction,277,278preventingsnapshots,374750INDEXskippingNotUndoablefields,377takingsnapshotofdata,374NotVisibleModePropertyproperty,325n-tier(physical)architecture,2,3,4seealsophysicalarchitecturechanneladapterdesignpattern,421redundantservers,9rootobjectdataaccessmethods,453supportingphysicaln-tiermodels,58–60nullvaluesADO.
NET,494businessrules,500databinding,488DateTimedatatype,500emptyfields,500foreignkeyrelationships,499helperclasshandling,94reasonsforallowing,499SafeDataReaderclass,93,495,500workingwithemptydatevalues,96NullablegenerictypeDataMappersettingvalues,505DateTimevalue,488handlingnullvalues,95workingwithemptydatevalues,96Oobjectcreationchildobjectcreation,150–152lifecycleofbusinessobjects,147–152rootobjectcreation,148–150objectdatabinding,WindowsForms,287–295IDataErrorInfo,294–295IEditableObject,291–294INotifyPropertyChanged,289–290INotifyPropertyChanging,291objectdatabinding,WPF,312–314objectdatabase,DataAccesslayer,13objectdesignseePTrackerobjectdesignobjectdesign,encapsulation,24objectdisposal,businessobjects,162–163objectfactoryclasses,169–170dataportals,433–434objectfactoryloaderclass,169objectfactorymodeldataaccessinObjectFactory,551–552dataportals,78,84,548,551invokingseparatedataaccess,552–553objectgraph,144,237handlingcircularreferencesin,278object-in-chargemodel,48objectmodels,54indexingobjectmodel,411–416normalizingbehavior,117objectpersistenceseepersistenceobjectretrievallifecycleofbusinessobjects,152–155retrievingchildobjects,155retrievingrootobjects,153–154objectstatusDeletemethod,271DeleteChildmethod,271ITrackStatusinterface,264MarkCleanmethod,266MarkDeletedmethod,271MarkDirtymethod,266MarkNewmethod,265MarkOldmethod,264objectstatusproperties,263–272IsDeletedproperty,263,271–272IsDirtyproperty,263,268–269IsNewproperty,263,264–265IsSavableproperty,263,270IsSelfDirtyproperty,263,265–268IsSelfValidproperty,263,269IsValidproperty,263,269PropertyChangedevent,266,268PropertyChangedModeproperty,267PropertyHasChangedmethod,267objectstereotypes,listof,63objectupdatesadding/editingrootobjects,156–158adding/editing/deletingchildobjects,158–160deletingrootobjects,160–161lifecycleofbusinessobjects,156–161ObjectAuthorizationRulestype,360,361ObjectClonerclass,231,237–238ObjectContexttype,499ObjectContextManagerclass,495,496,499LINQtoSQL,565ObjectDataProvidercontrol,315ObjectFactoryattribute,84,469adding/editingrootobjects,156,157,158commandobjects,198creatingrootobjects,148dataaccessmodels,548,551–553dataportals,433DataPortalSelectorclassand,469deletingrootobjects,160,161editablechildobjects,183,184editablerootcollections,189editablerootobjects,179–180exceptionstocommonregions,166,167,168objectfactoryclasses,169–170read-onlyobjects,193retrievingrootobjects,153,154SimpleDataPortalclassand,470Updatemethod,DataPortal,454751INDEXObjectFactoryclass,84Fetchmethod,551MarkXyzmethods,170,552methods,169protectedmethods,170ObjectFactorymodelbreakingencapsulation,551,555dataaccessinObjectFactory,551–552dataaccesslayerdesigns,548invokingseparatedataaccess,552–553ORMtoolsandencapsulation,555ObjectFieldInfoclass,328object-levelauthorization,431object-orientedapplicationdesignapplicationrequirements,gathering,104,108normalizationofbehavior,103objectswithresponsibilities,102usecases,102,103object-orientedapplicationsbehavioralobject-orienteddesign,55–56coreobject-orientedconcepts,39designgoals,38–61distributedarchitecturesand,27encapsulation,57–58,420logicalandphysicalarchitectures,1–19mobileobjects,26reasonforcreating,24relationalandobjectmodels,54–55,131supportingphysicaln-tiermodels,58–60object-relationalmappingseeORMobjectsanchoredobjects,30businessobjects,lifecycleof,147–163childobjects,64choosinglocal/anchored/mobile,32creatingreadonlyobjects,68deletedobjectcollection,387–391enablingobjectsfordatabinding,51–52finalizingobjects,162–163localobjects,29mobileobjects,31–32objectpersistenceandobject-relationalmapping,54–60parenteditableobject,273–283parent-childinteraction,274–279passingbyreference,30passingbyvalue,31ProjectTrackerobjects,517relationalvs.
objectmodeling,54–55rootobjects,64stronglytypedcollectionsofchildobjects,42trackingobjectstatus,263trackingwhetherstatehaschanged,41ObjectSavedevent,311ObjectSavingevent,311ObjectSchemaclass,328ObjectStatusclass,603,604ObjectStatuscontrol,326–327bindingtoUIcontrol,592PropertyChangedevent,326,327RolesEditformcontents,608ObjectTypepropertycriteriaobjectidentifyingtype,444CslaDataProviderclass,603DataPortalEventArgsclass,448ObjectTypevalue,432ObjectViewSchemaclass,328ObservableCollectionclass,223inheritancefrom,52INotifyCollectionChanged,73ObservableCollectioncollection,42OnAddEventHooksInternalmethod,284OnChildChangedmethod,276OnChildChangedInternalmethod,284OnDeleteObjectproperty,648OnDeserializedmethod,250OnDeserializedHandlermethod,276,278,284OnPropertyChangedmethod,290,314OnQueryFinishedmethod,318,319OnUnknownPropertyChangedmethod,266,290,383OpenCmdExecutedmethod,616Operationproperty,448Operationvalue,432OperationContractattribute,WCF,681,706optimalperformancesmartclient,14–15optimalperformancewebclient,17–18ORM(object-relationalmapping),56–57databasedesign,126ObjectFactorymodelandencapsulation,555overridingSavemethod,Projectclass,561–562PPagedirective,646pagesseeforms,PTWebPageSizeproperty,GridView,658PageTitlecontrol,637parenteditablecollections,283–285parenteditableobject,273–283parentobjects,273CSLA.
NETterminology,144declaringchildproperties,279–283IParentinterface,279parentwithsinglechild,273parentwithsinglecollection,274parent-childinteraction,274–279752INDEXparentparameter,183Parentproperty,278,542parentreference,274,278Parseevent,300Parsemethod,SmartDate,491,492passingbyreference,30,32–33passingbyvalue,31,32,33class-in-chargemodel,49PeerTrust,691performance,5dataaccesslayerdesign,554high-scalabilitysmartclient,15high-securitysmartclient,18mobileobjects,31passingbyreference,33object-orientedapplications,27optimalperformancesmartclient,14–15optimalperformancewebclient,17–18physicalmodel,5revisingPTrackerdesign,118–120per-instanceauthorizationrules,331,332,366per-methodauthorization,364permissiveauthorizationrules,367per-propertyauthorization,364,431persistence,434associatingpersistenceservicewithruntime,512–513businessobjects,548BusinessBasefunctionality,220CSLA.
NETdesignbenefits,123dataaccessmodels,548–553dataportals,420,433objectpersistenceandobject-relationalmapping,54–60persistenceobjects,encapsulation,57per-typeauthorizationrules,365per-typerules,331,332physicalarchitecture,2,3seealsologicalarchitecture;n-tier(physical)architecture;tiersapplyinglogicalarchitecture,14–18logicalandphysicalarchitectures,1–19physicalmodel,5–9physicalconfigurationshigh-scalabilitysmartclient,15–16high-securitywebclient,18optimalperformancesmartclient,14–15optimalperformancewebclient,17–18physicalmodel,5–9faulttolerance,8–9performance,5scalability,5,6security,6–8externalapplications,7–8internalapplications,7pointsoffailure,physicalmodel,8polymorphism,64BusinessBaseclass,219CSLA.
NETframework,232generictypes,64,231,232IBusinessObject,232IReadOnlyCollection,234IReadOnlyObject,234IUndoableObject,236ReadOnlyBaseclass,227UndoableBaseclass,236portalsdataportals,59,77–91PostSaveActionproperty,309PresentationlayerseeInterfacelayerprincipalchanges,587,588principalclasses,356,357–358Principalnamespace,91principalobjects,91accessingcurrentprincipalobject,584customprincipalobjectinheritance,353DataPortalContextclass,429IPrincipalinterface,353loginandlogout,MainForm,599maintaininguser'sprincipalobject,215PTPrincipalclass,543–545reloadingwithoutauthenticatingcredentials,544reloading,PTWebforms-basedauthentication,642–644SetThreadPrincipalmethod,584usernamecredentials,WCF,692WindowsPrincipalclass,354PrincipalCacheobject,692,693,696PrincipalPolicyclass,696,699PrincipalRoleInListmethod,363Priorityproperty,RuleMethod,336priorityvalues,rules,335privatebackingfields,245,246–247privatekeyword,26proceduralmodel,distributedarchitectures,27processflowdesign,businessconceptsand,105profiledata,customauthentication,60programmaticaccessforusers,107ProjectclassDeleteProjectmethod,660,668savingproject,665–666WCFservicecontractandimplementation,709Projectclass,PTracker,520–529,560–569AddAuthorizationRulesmethod,528AddBusinessRulesmethod,522,525–526AddDependentPropertymethod,527AddObjectAuthorizationRulesmethod,529AddRulemethod,526753INDEXAllowCreatemethod,529AllowDeletemethod,529AllowEditmethod,529AllowGetmethod,529AllowWritemethod,528AuthorizationRulesregion,528–529BusinessandValidationRulesregion,525–528BusinessMethodsregion,521–525CanCreatemethod,529CanDeletemethod,529CanEditmethod,529CanGetmethod,529CheckRulesmethod,526childcollectionproperties,524CommonRulesclass,525customrulemethods,527–528DataAccessregion,562–569DataObjectFieldattribute,521,522DataPortal_Createmethod,563–564DataPortal_Deletemethod,569DataPortal_DeleteSelfmethod,568–569DataPortal_Fetchmethod,564–566DataPortal_Insertmethod,566–568DataPortal_Updatemethod,568Descriptionproperty,522Endedproperty,523,526Existscommand,543,579–581Existsmethod,579,580FactoryMethodsregion,560–562finalclasslistforPTracker,121getblock,522GetPropertymethod,521GetPropertyConvertmethod,524handlingtransactions,562–563Idproperty,521interdependentproperties,526–527IsDirtyproperty,522IsValidproperty,522MaxLengthRuleArgsobject,526methodscheckingper-typeauthorization,529Nameproperty,521nonpublicconstructor,561overridingGetIdValuemethod,524overridingSavemethod,561–562potentialclassesforPTracker,109ProjectManagerrole,528PropertyChangedevent,522PropertyChangingevent,522PropertyInfoobject,522read-onlyproperties,521ReadPropertymethod,527read-writeproperties,521–523Resourcescollection,615revisingPTrackerrelationships,112RuleHandlerdelegate,527setblock,522SetPropertymethod,522SetPropertyConvertmethod,524SmartDateproperties,523–524StartDateGTEndDaterule,526,527Startedproperty,523,526StringMaxLengthrule,526StringRequiredmethod,526Projectdataprovider,614projectmaintenanceusecase,106projectsetup,PTWeb,633–634projectsetup,PTWpf,596projectstructure,208–212ProjectTrackerprojectseeProjectTrackerprojectProjectDataclass,708,709AddProjectmethod,708GetProjectListmethod,707UpdateProjectmethod,710ProjectDataSourcecontrol,666–668ProjectEditcontrol,616ProjectEditform,PTWeb,629,661–672assigningresourcestoprojects,669–670authorizationrules,671–672cachingprojectobjectinSession,664creatingnewobject,665MultiViewcontrol,661ProjectDataSourcecontrol,666–668ResourceListDataSourcecontrol,671ResourcesDataSourcecontrol,668–670RoleListDataSourcecontrol,670SaveProjectmethod,666savingproject,665–666ProjectEditform,PTWpf,586,612–616ComboBoxcontrols,613databinding,615dataprovidercontrols,613–615Loadedeventhandler,614navigationthroughcommanding,616Projectdataprovider,614ProjectEdit.
aspx,PTWeb,634ProjectExistsproperty,580ProjectInfoclass,121,124projectionsbindingfrom,400handlingnon-identityprojections,407identityprojectionsandLinqBindingList,401LINQand,401–402ProjectListclassperformanceoptimization,118WCFservicecontractandimplementation,708754INDEXProjectListclass,PTrackerBindingelement,612BindsDirectlyToSourceproperty,612finalclasslistforPTracker,121GetProjectListmethod,611implementingbusinessclasses,538,575IsInitialLoadEnabledproperty,611potentialclassesforPTracker,109revisingPTrackerdesign,111Textproperty,TextBoxcontrol,612UpdateSourceTriggerproperty,612ProjectListclass,PTWeb,658ProjectListform,PTWeb,629,656–661addingprojects,659authorizationrules,660deletingprojects,659GetProjectListmethod,659loadingdata,659viewing/editingprojects,659ProjectListform,PTWpf,586,611–612ProjectListDataSourcecontrol,658,659ProjectListRequestparameter,708ProjectManagerrole,PTracker,528ProjectRequestdatacontract,706ProjectResourceclassnormalizingbehavior,116,117ProjectResourceclass,PTracker,532–534,571–574AddAuthorizationRulesmethod,534AddBusinessRulesmethod,533Assignmethod,571Assignmentclassand,534AuthorizationRulesregion,534BusinessandValidationRulesregion,533BusinessMethodsregion,533CanExecuteMethodmethod,533,534Child_DeleteSelfmethod,574Child_Fetchmethod,572creatingProjectResourceobject,531,571DataAccessregion,571–574deletingdata,574FactoryMethodsregion,571finalclasslistforPTracker,121GetResourcemethod,533,571,572IHoldRolesinterface,533insertingdata,573loadingexistingobject,572navigatingtoResourcerootobject,533NewProjectResourcemethod,571,572regions,532Roleproperty,533updatingdata,574ValidRolerule,533ProjectResourcesobject,PTracker,530–532,569–570,615Assignmethod,530,531businessmethods,530BusinessMethodsregion,530–532Child_Fetchmethod,570Child_Updatemethod,570Clonemethod,530Containsmethod,530,532ContainsDeletedmethod,530,532DataAccessregion,530,570DataPortal_Insertmethod,570DataPortal_Updatemethod,570FactoryMethodsregion,530,569–570finalclasslistforPTracker,121GetItemmethod,530,531Idproperty,531mergingclasses,115NewProjectResourcefactorymethod,531potentialclassesforPTracker,109regions,530Removemethod,530,532revisingPTrackerrelationships,112,113Savemethod,530Serializableattribute,530projectsassigningresourcesto,669–670Projectstable,PTrackeraddProjectprocedure,133Assignmentstablelinkingto,130,131databasedesign,129deleteProjectprocedure,134updateProjectprocedure,133ProjectSelectwindow,PTWpf,586ProjectTrackerapplicationclasses,518ProjectTrackerapplication,WCF,702ProjectTrackerobjects,517ProjectTrackerprojectseealsoPTWpfprojectdataaccesscode,557endpointdefinition,WCFservices,685libraryofbusinessclasses,518settingup,518–519ProjectTracker.
DalLinqproject,557–559ProjectTracker.
LibraryclassseeLibraryclasslibraryproject,PTrackerProjectTracker.
LibraryprojectGACasalternativetoIIS,639PTWpfprojectsetup,596project-trackingsystemseePTrackerapplicationpropertiesassociatingruleswith,339–340checkingvalidationrules,340–342755INDEXPropertiesnamespace,97properties,CSLA.
NETCanReadPropertymethod,242CanWritePropertymethod,243childobjectreferencefields,248CoerceValuemethod,247,248declarationoptions,245–248declaring,241–250GetPropertymethod,242,245GetPropertyConvertmethod,247GetPropertyListCachemethod,251,252GetRegisteredPropertiesmethod,252LoadPropertymethod,244,245LoadPropertyValuemethod,243managedbackingfields,245,247–248privatebackingfields,245,246–247ReadPropertymethod,242,245RegisterPropertymethod,241,248,250SetPropertymethod,242,245storingpropertyvalues,245propertyandmethodlevelauthorization,364–367CanXyzmethods,366–367IAuthorizeReadWriteinterface,365per-instanceauthorizationrules,366per-typeauthorizationrules,365propertylistgeneratingconsolidatedpropertylist,254–256Propertyproperty,320,606PropertyChangedevent,266authentication,PTWpf,593businessobjectsand,290databinding,51,303editablecollections,283,285ExtendedBindingListclass,74INotifyPropertyChanged,289objectdatabinding,WPF,312,313–314ObjectStatuscontrol,326,327parent-childinteraction,274,276Projectclass,PTracker,522PropertyStatuscontrol,322raisingeventsforWindowsForms,268raisingeventsforWPF,268PropertyChangedModeproperty,214,267PropertyChangingevent,51,288,291,522PropertyDescriptorobject,284PropertyHasChangedmethod,267,268PropertyInfoclass,213,226–227,256,522DataMappermapping,506,507,508PropertyInfoCacheproperty,251PropertyInfoManager,250–252PropertyNameproperty,333,337,347PropertyStatuscontrol,319–323AttachSourcemethod,322BusyChangedevent,322DetachSourcemethod,322Gridcontrol,605,606Gridelement,321HandleTargetmethod,322Propertyproperty,320PropertyChangedevent,322SetSourcemethod,321Sourceproperty,320,321StoryBoardelements,321Styleelement,320Targetproperty,321UpdateStatemethod,322protectedmethod,290ProvidePropertyattribute,297,298Providerproperty,319,404,405proxyclassesclient-sideproxyclasses,78,79–80creatingproxyobject,DataPortal,448–450CslaDataPortalProxykey,449IDataPortalProxyinterface,458LocalProxyclass,458–459managingnetworkprotocols,448rootobjectdataaccessmethods,452WcfProxyclass,459–460proxyTypefield,449PTIdentityclasscustomauthentication,122databasedesign,127GetIdentitymethod,694inheritance,126Loginprocedure,140Securitydatabase,139PTIdentityclass,PTracker,544,545PTIdentityclass,PTWeb,630,642,645PTMembershipProviderclass,641,642PTPrincipalclasscustomauthentication,122inheritance,126LoadPrincipalmethod,693PTracker,543–545PTWebproject,630,641,642,644,645WCFservices,693–694PTrackerapplicationcustomauthentication,543–546implementingbusinessclasses,519–543,559–581programmaticaccessforusers,107projectmaintenance,106resourcemaintenance,106–107Securitydatabase,128,139–140usecases,105–108WebFormsuserinterfaceseePTWebproject756INDEXPTrackerdatabasedesign,126–140Assignmentstable,130creatingdatabases,127–129databasediagrams,131Projectstable,129Resourcestable,130Rolestable,129storedprocedures,132–139PTrackerdatabasefilecodedownload,630PTrackerobjectdesign,108–123CSLA.
NETbenefits,123–126customauthentication,122duplicateobjects,identifying,111entities,108finalclasslist,121interobjectcollaboration,120mergingclasses,115normalizingbehavior,116–118performanceoptimization,118–120potentialobjectsandclassnames,109reviewingdesign,120–122revisingdesign,110–120trivialobjects,identifying,111PTServiceclass,707PTService.
cs,706PTService.
svc,706PTServiceBehavior,698PTWcfClientproject,713–718callingserviceoperation,716clientconfiguration,700,715providingusernamefromclient,699PTWcfServiceprojectAddProjectmethod,708–709callingserviceoperation,716CreateUpdatableProjectmethod,710generatingWCFinformationpage,712GetProjectListmethod,707–708serviceinterfacedesign,702smartclientforWCFservice,713–718UpdateProjectmethod,710PTWcfServicewebsitesetup,705–706PTWcfServiceAuthproject,697PTWebprojectapplicationconfiguration,629–633businessfunctionality,646–672Default.
aspxpage,627formsandcontrols,listof,629hostingPTWebsiteinIIS,633interfacedesign,627–646loginpage,638–646masterpage,634–638ProjectEditwebform,661–672ProjectListwebform,656–661RolesEditwebform,646–656sitesetup,633–634statemanagement,622–627PTWpfprojectseealsoProjectTrackerprojectapplicationconfiguration,593–596formsandusercontrols,tableof,586interfacedesign,585–616Loginform,600–601MainFormwindow,596–600projectsetup,596ProjectEditform,612–616ProjectListform,611–612ResourceListform,609–611RolesEditform,602–609usercontrolframework,587–590valueconverters,591–592publickeyword,26QqueriesbindingtoresultsfromLINQtoObjects,400handlingnon-identityprojections,407indexedLINQqueries,400IQueryableimplementationforCSLA.
NET,404–408IQueryProviderinterface,406–408LINQtoObjectsquery,401QueryStringproperty,664RRAD(rapidapplicationdevelopment),104RaiseListChangedEventspropertyeditablechildcollections,191,442editablerootcollections,189read-onlycollections,196suppressingListChangedevents,570Readmethod,502read-onlychildcollections,196read-onlychildlistobjects,63,68,146read-onlychildobjects,63,68,146,193–194read-onlycollections,194–196read-onlyobjects,68,144,191–193read-onlyproperties,PTracker,521ReadOnlyproperty,302read-onlyrootlistobjects,63,68,146read-onlyrootobjects,63,68,146ReadOnlyBaseclass,227–228CanReadPropertymethod,366childobjects,194description,62,98,213read-onlyobjects,68,191ReadOnlyBindingListclass,225,231,238–239ReadOnlyCollectionBaseclass,575757INDEXReadOnlyListBaseclass,228,538baseclasses,businessframeworkClonemethod,538description,63,98,213performanceoptimization,119read-onlycollections,194read-onlyobjects,68,191regionsininheritedclasses,166searchingforitemsin,403ReadPropertymethod,242,245,258,527read-writeproperties,521–523ReadWriteAuthorizationcontrol,296–299ApplyAuthorizationproperty,297,298–299applyingauthorizationrules,299–302ApplyReadRulesmethod,300–301ApplyWriteRulesmethod,301–302DesignerCategoryattribute,297Enabledproperty,300,302GetEmptyValuemethod,301IExtenderProviderinterface,297ProvidePropertyattribute,297,298ReadOnlyproperty,302ResetControlAuthorizationmethod,299ReturnEmptymethod,301usingIsPropertyImplementedmethod,298Rebindmethod,609RebindAfterSaveproperty,310red-blacktreestructure,409redundantservers,9referencefields,childobjects,248reflectiondataportals,442DataMapper,503,506Fetchmethod,SimpleDataPortal,472publicmembers,508server-sidedataportalusing,85takingsnapshotofdata,374,375UndoableBaseclass,373validationrules,347Reflectionfolder,208Reflectionnamespace,97,443RegExmethod,347#regiondirective,166–169regions,166–169Client-sideCoderegion,198Existsregion,520masterpage,PTWebproject,636ValidationRulesregion,177,182RegisterPropertymethod,241,248,250,252regsvcs.
exeutility,519ReIndexmethod,414relationaldatabases,54–60object-relationalmapping,56–57relationalvs.
objectmodeling,54–55relationalmodels,127,131relationshipsusingrelationship,145relationships,PTrackerobjectdesign,111–118remotedataportalsapplicationconfiguration,PTWpf,594WCFdataportalserver,631WCFserviceinterface,704Windowsintegratedsecurity,644remoting,79,675RemotingPortalclass,424RemotingProxyclass,424Removebutton,WPFCommandproperties,607RemovemethodBrokenRulesCollectionclass,344,345BusinessListBaseclass,66ProjectResourcesclass,530,532Rolesclass,539,655RemoveChildmethod,233,279,386RemoveItemmethod,238,285,386,411RemovingItemevent,74,223,232representationalstatetransfer(REST),424RequestclassQueryStringproperty,664RequestObjectvalue,432requirementsgatheringapplicationrequirements,104,108ResetActionBehaviorsmethod,309ResetChildEditLevelmethod,253ResetControlAuthorizationmethod,299Resourceclass,536–538addResourceprocedure,567Existsmethod,581finalclasslistforPTracker,121potentialclasses,109propertiesandmethods,536,537revisingdesign,110revisingrelationships,112resourceeditor,VisualStudio,211resourcemaintenanceusecase,PTracker,106–107ResourceAssignmentclass,536,538Assignmentclassand,534finalclasslistforPTracker,121normalizingbehavior,116,117ResourceAssignmentsobject,538finalclasslistforPTracker,121mergingclasses,115potentialclasses,109revisingrelationships,112,114ResourceEditform,PTWeb,629,646ResourceEditform,PTWpf,587758INDEXResourceInfoclass,538–539BusinessMethodsregion,538–539finalclasslistforPTracker,122Idproperty,538inheritance,124Nameproperty,538ResourceListclass,538,575–576DataAccessregion,576DataPortal_Fetchmethod,576EmptyListmethod,576FactoryMethodsregion,576finalclasslistforPTracker,121GetResourceListmethod,576,671IsAsynchronousproperty,610IsInitialLoadEnabledproperty,610performanceoptimization,118potentialclassesforPTracker,109revisingPTrackerdesign,111ResourceListform,PTWeb,629,646ResourceListform,PTWpf,587,609–611ResourceListDataSourcecontrol,663,671resourcesassigningtoprojects,669–670securityrolesandresourceroles,109Resourcescollection,PTracker,615ResourcestableaddResourceprocedure,136Assignmentstablelinkingto,130,132deleteResourceprocedure,137PTrackerdatabasedesign,130updateResourceprocedure,137Resources.
resxfile,211ResourcesDataSourcecontrol,668–670ResourceSelectwindow,PTWpf,587REST(representationalstatetransfer),424XMLservicesandRESTservices,678Resultproperty,PTWpfLoginform,601ResumeWorkflowmethod,511,513,514retrievingobjects,152–155ReturnEmptymethod,301ReturnObject,DataPortalResult,429,430reusablecodeseecodereuseRIA(richInternetapplication),8rightevaluation,410Roleclass,541–543AddBusinessRulesmethod,543BusinessandValidationRulesregion,542finalclasslistforPTracker,122Idproperty,542,543NoDuplicatesrulemethod,542potentialclassesforPTracker,109preventingduplicatevalues,542–543settingdefaultvalue,541–542trivialobjects,identifying,111Roleproperty,116,533,535RoleEditclass,109RoleEditListclass,109RoleListclass,536,574–575Assignmentclassand,535BusinessMethodsregion,536cachingobjectinstaticfield,PTWeb,671DataAccessregion,575DataPortal_Fetchmethod,575DefaultRolemethod,536,571FactoryMethodsregion,574–575finalclasslistforPTracker,122getRolesprocedure,138implementingRolesclass,578interobjectcollaboration,120InvalidateCachemethod,574potentialclassesforPTracker,109revisingPTrackerdesign,110,111subclassingNameValueListBaseclass,125RoleListDataSourcecontrol,670RoleRequestdatacontract,WCF,707rolesGetAllowGetRolesmethod,363GetDenyGetRolesmethod,363GetRolesmethod,361integratedauthorization,41IsInRolemethod,363IsInRoleProvidermethod,363PrincipalRoleInListmethod,363PTrackerusecases,107resultsofallowingordenyingroles,367securityrolesandresourceroles,109typelevelauthorization,361typelevelroles,362–364typesmaintainingrolesforobjecttype,365Rolesclass,539–541,577–578AddNewmethod,652AddNewCoremethod,540,541,652AllowNewproperty,577BusinessMethodsregion,539–541DataAccessregion,577–578DataPortal_Updatemethod,578FactoryMethodsregion,577finalclasslistforPTracker,122GetMaxmethod,541GetRoleByIdmethod,540,654GetRolesmethod,577,649getRolesprocedure,138Idproperty,541interobjectcollaboration,120InvalidateCachemethod,578InvalidatedCachemethod,578invalidatingclient-sidecache,578invalidatingserver-sidecache,578759INDEXParentproperty,542Removemethod,539,655Roles_Savedmethod,578Savemethod,653,655RolestableaddRolesprocedure,138Assignmentstablelinkingto,130,132deleteRoleprocedure,139PTrackerdatabasedesign,129Securitydatabase,140updateRoleprocedure,139Roles_Savedmethod,578RolesDataSourcecontrolDeleteObjectevent,650,655DetailsViewcontrol,651InsertObjectevent,652RolesEditwebform,648SelectObjectevent,649–651,653UpdateObjectevent,650,654RolesEditform,PTWeb,629,646–656authorizationrules,656cachingobjectinSession,649Contentcontrol,646ContentPlaceHolderIDproperty,646deletingobjects,655ErrorLabelcontrol,647GetRolesmethod,649insertingobjects,651–653MultiViewcontrol,647Pagedirective,646RolesDataSourcecontrol,648selectingobjects,649–651updatingobjects,653–655usingbusinessobjectasdatasource,648Viewcontrols,647RolesEditform,PTWpf,586,602–609ApplyAuthorizationmethod,609CslaDataProviderclass,603–604EditFormclass,602formcontent,607–609formdeclaration,602formresources,603–604Gridcontrolresources,604–607IdentityConverterclass,603ObjectStatusclass,603,604settingDataContext,604RolesForPropertytype,360,365RolesForTypetype,360rootobjectsadding/editing,156–158collectionrootobjectscompared,188consistentcodingmodelfor,421creating,148–150CSLA.
NETterminology,144dataaccessmethods,DataPortal,450–455DataPortalmethods,446deleting,160–161description,64,273dynamiceditablerootobjects,201–202editablerootcollections,187–190editablerootobjects,174–180retrieving,153–154switchableobjects,184root/parent/childbehaviors,220routersmessagerouterfunctionality,424–427,468–480rulemethods,333,350,351RuleArgsclass,75,333AddBusinessRulesmethod,349DecoratedRuleArgsclass,334,349–350Descriptionproperty,76,333,347,348GetPropertyNamemethod,348managingrulemethods,76PropertyNameproperty,333,347RuleHandlerdelegate,332,333StringMaxLengthmethod,350RuleArgsparameter,348RuleDescriptionclass,335,336properties,337RuleHandlerclass,75RuleHandlerdelegate,332–333CommonRulesclass,347managingrulemethods,75Projectclass,PTracker,527RuleArgsobject,332,333RuleMethodclass,334–336RuleNameproperty,335rulesseealsobusinessrules;validationrulesassociatingruleswithproperties,339–340BrokenRuleclass,343BrokenRulesCollectionclass,344–346businessobjects,331CommonRulesclass,347–351customrulemethods,527–528DecoratedRuleArgsclass,334definition,74keepinglistofrulesforbusinesstype,337keepinglistofrulesforproperties,337maintaininglistofbrokenrules,76,342–343per-instancerules,331,332per-typerules,331,332reflectionbasedorhardcoded,347sharedrulesandthreading,337–339typesofrules,331–332Validationnamespace,332–346RulesListobjects,339760INDEXRulesToCheckproperty,341RunLocalattribute,445–446client-sideDataPortal,79creatingrootobjects,148,149DataPortal_Createmethod,563editablerootobjects,178retrievingrootobjects,154rootobjectdataaccessmethods,452Updatemethod,DataPortal,454RunLocalAttributetype,423runtimeassociatingpersistenceservicewith,512–513RunWorkerCompletedevent,456SSafeDataReaderclass,93,94–95,499–503dataaccessusing,495ExecuteReadermethod,501GetBooleanmethod,502GetOrdinalmethod,501GetSmartDatemethod,502GetStringmethod,501IDataReaderinterface,500nullvalues,500Readmethod,502savableobjects,234,270Savemethodadding/editingrootobjects,156,157baseclasssupport,dataportals,437,438–439BusinessBaseclass,87,88,435,438BusinessListBaseclass,435,438Insert/Update/Deleteoperations,88ISavableinterface,234Projectclass,520,561–562ProjectResourcesclass,530Rolesclass,653,655SaveCommandmethod,319SaveCompletemethod,234,438Savedevent,234,577,578SavedEventArgsparameter,234SaveProjectmethod,666,667,670scalability,5,6high-scalabilitysmartclient,15–16,27high-securitysmartclient,18Schemeproperty,RuleDescription,337SCOPE_IDENTITYfunction,137Searchmethod,IndexSet,412,413searchingindexedsearchusingCSLA.
NET,403–404,410securityconfiguringWCFtousemessagesecurity,689–692CSLA.
NETdesignbenefits,124customauthentication,91–92DataAccesslayer,16domainsoftrust,7forms-basedauthentication,639–644high-scalabilitysmartclient,16high-securitywebclient,18,27IISandASP.
NET,639integratedsecurity,60physicalmodel,6–8principal/identityobjects,91securityrolesandresourceroles,109transferringstateto/fromclient,625Windowsintegratedsecurity,644Securitydatabase,128,139–140codedownload,630Securityfolder,208Securitynamespace,97,354,356securitytrustboundary,7Security.
Principalnamespace,91selectclause,LINQ,401,406Selectmethod,LINQ,401SelectedIndexChangedevent,657SelectObjecteventCslaDataSourcecontrol,329ProjectDataSourcecontrol,666ProjectListDataSourcecontrol,659ResourceListDataSourcecontrol,671ResourcesDataSourcecontrol,668RoleListDataSourcecontrol,670RolesDataSourcecontrol,649–651,653semantictrustboundary,7Sequencetype,LINQ,400,406Serializableattribute,164,165BusinessBaseclass,219BusinessListBaseclass,221creatingmobileobjectsin.
NET,31criteriaobjects,203FieldDataManagerclass,254n-levelundofunctionality,70ObjectClonerclass,237objectsraisingeventsconflict,52passingmobileobjectsbyreference,33passingobjectsacrossnetworkduringedit,380ProjectInfoclass,124ProjectResourcesclass,530ResourceInfoclass,124storingstateonwebserver,624UndoableBaseclass,373serializableobjectcreatingcustomprincipalclass,357non-serializableobjecthandlingeventsraisedby,53parent-childinteraction,277761INDEXserializationcloning,237CSLA.
NET,165databinding,52–54DataContractSerializer,164editablecollections,283HybridDictionary,379–380IMobileObjectinterface,229,254MobileListclass,222,225MobileObject,221,223NetDataContractSerializer(NDCS),164n-levelundofunctionality,70NonSerializedattribute,53PropertyChangedevent,290serializationandindexing,403takingsnapshotofdata,376Serializationfolder,208Serializationnamespace,97SerializationFormatterproperty,214SerializationFormatterFactoryclass,237,379servercalls,dataportals,431–432serverconfiguration,WCFservices,697–699servercontext,dataportals,481–483Serverfolder,208Servernamespace,97DataPortalclass,462–466Server.
Hostsnamespace,97servers,6,431–432server-sidecache,invalidating,578server-sidechilddataportal,78Server-sideCoderegion,198server-sidedataportal,78,82–83messageobjects,80usingreflection,85server-sidehostclasses,78,79server-sidehostobjects,81–82serviceconfiguration,WCF,689servicecontractelement,WCF,681servicecontract,WCF,679,680–684servicedesign,WCF,702–703serviceelement,WCF,690serviceimplementation,WCF,679,684–685serviceorientation(SO),7Serviceproperty,WCF,684ServiceReferenceSettingsdialog,715serviceAuthorizationelement,698ServiceCertificatebehavior,691serviceCertificateelement,690ServiceContractattribute,681,706serviceCredentialselement,699ServicedDataPortalclass,466–467delegatingcallstoDataPortalSelector,465messagerouterdesignpattern,426server-sidedataportal,83settingupProjectTracker,518Transactionalattributeroutingcallsvia,462,464serviceModelelement,704service-orientedarchitectureseeSOAservicesseeWCFservicesservices,SOAseeXMLservicesSessionobjectavoiding,638cachingprojectobject,664caching,PTWeb,649principalobjects,PTWeb,642,644statemanagementoptions,627storagelocationsfor,625storingstateonwebfarm,623,624,625storingstateonwebserver,622,623setblock,PTracker,522,524SetApplyAuthorizationmethod,298SetClientContextmethod,218SetContextmethod,216,481SetDatamethod,threads,217SetDefaultFormatStringmethod,492SetExecutionLocationmethod,216SetFieldDatamethod,259,261SetParentmethod,278,387,542SetPrincipalmethod,544SetPropertymethodBusinessBaseclass,242,245,260integratedauthorization,92per-propertyauthorization,364privatebackingfields,246Projectclass,522PropertyInfoclass,226,348Resourceclass,537SetPropertyConvertmethod,524SetReadmethod,325SetSourcemethod,321SetTargetmethod,383SetThreadPrincipalmethod,584SetTitlemethod,590SetValuemethod,504,505,506,507SetWritemethod,326SharedAuthorizationRulestype,360,365SharedValidationRulesManagerclass,337ShowControlmethod,589,611,616ShowStartingNodeproperty,637ShowUserControlmethod,590signedassemblies,Csla.
dllfile,210Signingtab,VisualStudio,210SignOutmethod,638Silverlight,176Silverlightfolder,208762INDEXSimpleDataPortalclass,470–476Executemethod,475Fetchmethod,470–474messagerouterdesignpattern,425,426Updatemethod,474–476Singlemethod,LINQquery,565SingleCriteriaclass,81,202,213,229messagerouterdesignpattern,426single-tiersystems,14sitesetup,PTWeb,633–634SiteMapDataSourcecontrol,637siteMapNodeelement,637skins,636smartclientapplication,713–718callingserviceoperation,716smartclientmodelshigh-scalabilitysmartclient,15–16optimalperformancesmartclient,14–15smartdatabusinessobjectsas,24–25CSLA.
NETdesignbenefits,123ISmartFieldinterface,230,235mobileobjects,28SmartDateclass,93,96,214,229,523SmartDateproperties,523–524SmartDatetype,488–494dataaccess,494databaseformat,494dateconversionfunctions,491–492datefield,493datefunctions,493DateTimetypeand,488,489DateToStringmethod,492,493defaultFormatfield,490emptydatevalues,489,502emptyValuefield,490,491,493formatfield,490,492FormatStringproperty,492initializedfield,490,493initializingstructs,490–491IsEmptyproperty,491,494Parsemethod,491,492SetDefaultFormatStringmethod,492StringToDatemethod,491,492,493supportingemptydates,491textfunctions,492–493Textproperty,493ToStringmethod,493TryParsemethod,492typeconversions,489snapshotsAcceptChangesmethod,381businessobjects,373CopyStatemethod,374preventingwithNotUndoable,374skippingNotUndoablefields,377stackingdata,374takingsnapshotofdata,374–377takingsnapshotofregularfields,379snippetfiles,523SO(serviceorientation),7SOA(service-orientedarchitecture),3,8,10,675,676SOAmodel,2SortedBindingListclass,74Sourceproperty,320,321,606SQLmembershipprovider,645SqlDataReaderclass,95SSL(SecureSocketsLayer),640Stackclass,374stackingdataCopyStatemethod,374HybridDictionary,379–380StackPanelcontrol,608StackTraceproperty,430StartDateGTEndDaterule,526,527Startedproperty,PTracker,523,526statebusinessobjects,25collectionsand,392CopyStatemethod,374,391–392editleveland,385encapsulation,369ITrackStatusinterface,264n-levelundofunctionality,44,369objectstatusproperties,263–272ObjectStatuscontrol,326restoringobject'sstatedata,381statefulobjects,webdevelopment,619trackingchangeof,41trackingobjectstatus,220,263WindowsFormsdatabinding,290statemanagementeditablechildobjects,184editablerootobjects,179statemanagement,webdevelopment,622–627implementingcentralizedstatedatabase,626storingstateinfile/database,622,626–627storingstateonwebfarm,623storingstateonwebserver,622–625switchingbetweenstate-handlingmodels,627transferringstateto/fromclient,622,625staticclassesObjectClonerclass,237staticfactorymethodsCreatemethod,DataPortal,85763INDEXstaticfields,248–250staticmethodsclass-in-chargemodel,49,50Statusproperty,WorkflowManager,511stereotypes,63,143,144,146commandobjects,197–198criteriaobjects,202–205dynamiceditablecollections,199–201dynamiceditablerootobjects,201–202editablechildcollections,190–191editablechildobjects,180–184editablerootcollections,187–190editablerootobjects,174–180name/valuelistobjects,198–199read-onlychildcollections,196read-onlychildobjects,193–194read-onlycollections,194–196read-onlyobjects,191–193switchableobjects,184–187storedprocedures,PTracker,132–139addAssignment,135addProject,133addResource,136addRole,138deleteAssignment,136deleteProject,134deleteResource,137deleteRole,139getRoles,138Login,140updateAssignment,135updateProject,133updateResource,137updateRole,139storeLocationproperty,serviceCertificate,690storeNameproperty,serviceCertificate,690Storyboardelements,321,323storyboarding,105StringMaxLengthmethod,347,348–351,526StringMinLengthmethod,347StringRequiredmethod,347,348,351,526stringsconvertingintoSmartDate,491StringToDatemethod,491,492,493strongnaming,signedassemblies,210strongtyping,42,232structs,490–491Styleelement,PropertyStatus,320styleSheetThemeproperty,635SubClassclass,374SuppressRuleCheckingproperty,341,342svcfile,WCFservices,684,706switchableobjects,146,184–187synchronization,406,407synchronousSavemethods,437,438–439system,SOAterminology,676System.
Collections.
Genericnamespace,42System.
EnterpriseServices.
dll,518System.
Security.
Principalnamespace,91System.
Transactionsnamespace,82,94Ttableslinktables,130Targetproperty,PropertyStatus,321testcertificate,WCFservices,686–689textfunctions,SmartDate,492–493TextpropertySmartDatetype,493TextBoxcontrol,605,606,612TextBlockcontrol,607TextBoxcontrol,605themeproperty,PTWebmasterpage,635themes,PTWeb,635–636thiskeyword,87,412threadlocalstorage(TLS),497,498Threadobject,216threading,337–339ConnectionManagerclass,497threadscustomauthentication,WPF,584,585settingservercontext,482tiersseealsolayers;n-tier(physical)architecturephysicalarchitecture,2,3sharingbusinesslogicacrosstiers,22–23Titleproperty,587,588,646TitleChangedevent,588,590TLS(threadlocalstorage),497,498ToArraymethod,345,380,566ToStringmethod,346,493transactionmodels,82Transactionalattribute,82,83,427,462dataaccess,495,496editablerootobjects,178Projectclass,563,566routingcallstoDataPortalSelector,462,464ServicedDataPortalclass,467settingupProjectTracker,519transactionalcontexts,DataPortal,427TransactionalDataPortalclass,426,462,465,467–468TransactionalTypesenumeration,428,462transactions,83,84distributedtransactionsupport,427–428,462–468handlingtransactions,562–563Transactionsnamespace,82,94764INDEXTransactionScopeclass,94avoidingoverheadofDTC,487,494dataaccess,495,496distributedtransactions,427Projectclass,PTracker,562TransactionalDataPortalmethods,468TransactionScopetransactionoption,82,83TransactionScopetransactiontypeDataPortaltransactionalcontexts,428routingcalltodataportal,462,465TreeViewcontrol,637TrueTemplateproperty,592trustdomainsoftrust,7,8trustingtestcertificate,WCFservices,688trustboundaries,7logicaltrustboundary,SOA,676trustedrootcertificates,WCFservices,686TrustedPeoplecertificatestore,686,688try.
.
.
catchblock,WCFservices,709TryGetValuemethod,251,339,367TryParsemethod,492typeconversions,246,247SmartDatetype,489typelevelauthorization,361–364typelevelroles,362–364TypeAssemblyNameproperty,648TypeNamepropertyProjectListDataSourcecontrol,658RolesDataSourcecontrol,648typescompletecodedownloadfor,208generictypes,42helpertypesandclasses,93–96stronglytypedcollectionsofchildobjects,42TypeSupportsPagingproperty,658TypeSupportsSortingproperty,658UUIseeuserinterfaceUIfocuseddesign,104,105UIlayerseeInterfacelayerUMLsequencediagram,86,87,89,90unanchoredobjectsseemobileobjectsUnauthenticatedIdentityclass,356UnauthenticatedIdentitymethod,92UnauthenticatedPrincipalclass,356unboxing,257UnDeleteChildmethod,390,391undofunctionality,369–370seealson-levelundofunctionalityimplementing,370–397UndoableBaseclass,70,97AcceptChangesmethod,381–382ApplyEditmethod,71avoidingdouble-processingoffields,377BeginEditmethod,71CancelEditmethod,71cascadingcalltochildobjectsorcollections,377childobjectsand,71CopyingStatemethod,377CopyStatemethod,374–380CopyStateCompletemethod,377gettinglistoffields,377n-levelundofunctionality,371,372,373–382NotUndoableAttribute,72polymorphism,236ResetChildEditLevelmethod,253restoringobject'sstatedata,381Serializableattribute,373skippingNotUndoablefields,377stackingdata,374takingsnapshotofdata,374–377takingsnapshotofregularfields,379UndoChangesmethod,380–381UndoChangesmethod,380–381,383,392–395IUndoableObjectinterface,236,378UndoChangesCompletemethod,383UndoException,371Updatemethodbaseclasssupport,dataportals,439childobjects,159ChildDataPortalclass,479ObjectFactoryclass,169SimpleDataPortalclass,474–476Updatemethod,DataPortal,87–90,425,446seealsoDataPortal_Updatemethodadding/editingrootobjects,156distributedtransactionsupport,465–466rootobjectdataaccessmethods,454–455updateoperation,dataportals,81,82,87UpdateAssignmentmethod,574updateAssignmentprocedure,135UpdateChildmethod,441,442UpdateChildrenmethodFieldDataManagerclass,441FieldManagerclass,159,496Projectclass,PTracker,567UpdateObjecteventCslaDataSourcecontrol,329ProjectDataSourcecontrol,666ResourcesDataSourcecontrol,669RolesDataSourcecontrol,650,654765INDEXUpdatePanelcontrol,663UpdateProgresscontrol,663UpdateProjectmethod,710updateProjectprocedure,133,565,568updateResourceprocedure,137updateRoleprocedure,139updates,bidirectional,87UpdateSourceTriggerproperty,612UpdateStatemethod,322updatingobjectsseeobjectupdatesusecases,102,103,105–108UseNetDataContractattribute,461usercontrolframework,PTWpf,587–590EditFormclass,587–589Loginform,600–601MainFormwindow,589–590,596–600ProjectEditform,612–616ProjectListform,611–612ResourceListform,609–611RolesEditform,602–609usercontrols,PTWpf,586useridentityseeimpersonationuserinterface(UI)CSLA.
NETdesignbenefits,123modelsforUIdeveloper,45–50UI-in-chargemodel,46–48userinterfacedesign,PTWebseeWebFormsuserinterface,PTWebuserinterfacedesign,PTWpf,585–616applicationconfiguration,593–596Loginform,600–601MainFormwindow,596–600projectsetup,596ProjectEditform,612–616ProjectListform,611–612ResourceListform,609–611RolesEditform,602–609usercontrolframework,587–590valueconverters,591–592userinterfacelayerseeInterfacelayeruserinterface,WebForms,seeWebFormsuserinterface,PTWebuserprofile,customauthentication,60Userproperty,214,215,354,357,641usernamecredentials,WCFservices,692–693UsernameCriteriaclass,356UserNamePasswordValidatorclass,694–695Userstable,Securitydatabase,140usingblockTransactionScopeobjectdisposal,468usingrelationship,145Utilitiesclass,214,230CoerceValuemethod,505GetPropertyTypemethod,504VValidatesOnDataErrorsproperty,606ValidateUsermethod,641validationASP.
NETvalidationcontrols,22Businesslayer,11IDataErrorInfointerface,294,295IsSelfValidproperty,269IsValidproperty,269managingbusinesslogic,19Validationfolder,208Validationnamespace,97,332–346BrokenRuleclass,343BrokenRulesCollectionclass,344–346DecoratedRuleArgsclass,334RuleArgsclass,333RuleDescriptionclass,335,336RuleHandlerdelegate,332–333RuleMethodclass,334–336ValidationExceptionclass,346ValidationRulesclass,337–343validationrules,347–351seealsobusinessrules;rulesapplicationdesign,39–40BusinessBaseclassfunctionality,220checkingvalidationrules,340–342classesimplementing,75CommonRulesclass,347–351CSLA.
NETframework,74–77description,39implementingcommonrules,76maintaininglistofbrokenrules,76,342–343methodsignatures,40reusablecode,40typesofrules,331–332Validationnamespace,332–346ValidationRulesclass,337–343ValidationRulesregionseealsoBusinessandValidationRulesregioneditablechildobjects,182editablerootobjects,177ValidationExceptionclass,75,346managingrulemethods,76ValidationRulesclass,75,337–343associatingruleswithproperties,339–340checkingvalidationrules,340–342CheckRulesmethods,340maintaininglistofbrokenrules,76,342–343managingrules,76rulemethods,76,334SetTargetmethod,383sharedrulesandthreading,337–339SuppressRuleCheckingproperty,341,342766INDEXValidationRulesManagerclass,337GetManagermethod,338RulesToCheckproperty,341ValidRolemethod,116,535ValidRolerulemethod,533,578valueconverters,PTWpf,591–592Convertmethod,591ConvertBackmethod,591ListTemplateConverterclass,592VisibilityConverterclass,591VerifyAuthorizationCachemethod,367versioning,WCFservices,707Viewcontrols,PTWeb,647virtualmethods,267VisibilitypropertyAuthorizercontrol,325StackPanelcontrol,608VisibilityConverterclass,587,591,608Convertmethod,592Visibleproperty,GridView,657VisualStudio,209,210,211WWaitForEndmethod,511WarnIfCloseOnDirtyproperty,309WarningCountproperty,345WarnOnCancelproperty,309WarnOnCancelMessageproperty,309WCF(WindowsCommunicationFoundation)authentication/authorizationduringinitialization,692configuringtousemessagesecurity,689–692configuringWCFdataportalserver,631–633extensibility,678networktransportoptions,678remotedataportalwithWCF,631server-sidehostobjects,82WS-*standardssupportedby,678WCFservicecontractandimplementation,706–711AddProjectmethod,708–709CreateUpdatableProjectmethod,710GetProjectListmethod,707–708PTServiceclass,707PTService.
cs,706PTService.
svc,706UpdateProjectmethod,710versioning,707WCFserviceinterfaceapplicationconfiguration,703–705authentication,703designing,701–711localdataportals,703PTWcfServicewebsitesetup,705–706remotedataportals,704servicedesign,702–703WCFservices,677–701configuringtouseusernamecredentials,692–693customauthentication,685–701DataContractattribute,681–683DataMemberattribute,682,683definitionof,679elementsof,679–685endpointconfiguration,679–680endpointdefinition,684FaultContractattribute,681,683–684FindCustomerRequestclass,682FindCustomerResponseclass,682generatingWCFinformationpage,711–712OperationContractattribute,681servicecontract,680–684serviceimplementation,684–685ServiceContractattribute,681smartclientforWCFservice,713–718webserviceconsumerimplementation,711–718WSDLdisplayfor,713WcfHostwebsite,595,596,632WcfPortalclass,423,460–462WcfPortal.
svcfile,595,632WcfProxyclass,423,459–460web-basedapplicationsdataaccessmodels,620undofunctionality,45webclientmodels,17–18webdevelopment,619,622–627webfarms,623,624,626Webfolder,208WebFormsuserinterface,PTWebapplicationconfiguration,629–633businessfunctionality,646–672databinding,327–329Default.
aspxpage,627formsandcontrols,listof,629hostingPTWebsiteinIIS,633interfacedesign,627–646introduction,619loginpage,638–646masterpage,634–638ProjectEditwebform,661–672ProjectListwebform,656–661RolesEditwebform,646–656sitesetup,633–634statemanagement,622–627Webnamespace,97webpages,PTWebseeforms,PTWeb767INDEXwebservicesseealsoWCFservicesclient-sideproxyclasses,79CSLA.
NETdesignbenefits,124generatingWCFinformationpage,711–712returningobjectsandencapsulation,503securityandinternalapplications,7smartclientfor,713–718WCFand,675webserviceconsumerimplementation,711–718websites,PTWeb,639–640web.
configfileapplicationconfiguration,PTWeb,629authentication,CSLA.
NET,630authentication,WCFserviceinterface,703configuringCSLA.
NET,355custommembershipprovider,PTWeb,641dataportals,PTWeb,630dataportals,WCFservices,703definingcontrolprefix,629definingproxyobject,448definitionofWCFservice,680serverconfiguration,WCFservices,697WCFserviceinterface,703WcfHostwebsite,595,596,632Windowsintegratedsecurity,644Web.
Designnamespace,98web.
sitemapfile,PTWeb,637WebServiceHostnamespace,98WebServicePortalclass,424WebServicesProxyclass,424WF(WindowsWorkflowFoundation),2,508–515startingworkflowsfromobjects,510WorkflowManagerclass,510–515whereclause,LINQ,401,406Wheremethodexpressionevaluation,LINQ,410indexedLINQqueries,401optimizingqueries,408understandingexpressiontrees,LINQ,405WhereEqualmethod,414,415WhereGreaterThanmethod,416WhereGreaterThanOrEqualTomethod,416WhereLessThanmethod,416WhereLessThanOrEqualTomethod,416WindowsActivationService(WAS),81Windowsauthentication,355CslaAuthenticationkey,593PTWebproject,630WCFserviceinterface,703WindowsCommunicationFoundationseeWCFWindowscredentialsusernamecredentials,WCF,692Windowsfolder,208WindowsFormsseealsoWPF(WindowsPresentationFoundation)configuringWindowsForms,355databinding,287–312InterfaceControllayer,11n-levelundofunctionality,373raisingeventsforWindowsForms,268securityandexternalapplications,8Windowsintegratedsecuritybusinesslayercoding,543contextdata,429impersonation,431loginpage,PTWebproject,644messageobjects,80principal/identityobjects,91settingservercontext,483Windowsnamespace,98WindowsPresentationFoundationseeWPFWindowsWorkflowFoundationseeWFwindows,PTWpfseeforms,PTWpfWindowsIdentityclass,354,355WindowsPrincipalclass,354,355Workflowfolder,209WorkflowFoundationseeWFworkflowmodel,2WorkflowManagerclass,510–515BeginResumeWorkflowmethod,511BeginWorkflowmethod,511DisposeRuntimemethod,511,513EndWorkflowmethod,511ExecuteWorkflowmethod,511–512,513,514,515InitializeRuntimemethod,511,512–513ResumeWorkflowmethod,511,513,514Statusproperty,511WaitForEndmethod,511workflowsarchitecturalviewofobjectsand,509associatingpersistenceservicewithruntime,512–513encapsulation,509executingfrombusinessobject,514–515idledorsuspendedworkflows,512loadingandresuming,513resumingwithoutunloading,514startingfromobjects,510synchronousexecutionof,511–512unloadingsuspendedworkflow,513768INDEXWPF(WindowsPresentationFoundation),583Commandproperties,607configuring,355customauthentication,584–585databinding,312–327n-levelundofunctionality,373raisingeventsfor,268securityandexternalapplications,8threads,584,585Wpffolder,209WPFuserinterface,PTWpfapplicationconfiguration,593–596interfacedesign,585–616Loginform,600–601MainFormwindow,596–600projectsetup,596ProjectEditform,612–616ProjectListform,611–612ResourceListform,609–611RolesEditform,602–609usercontrolframework,587–590valueconverters,591–592wrappersroutingcallsthroughtransactionalwrappers,84WSDLWSDLdisplayforWCFservice,713WSEWCFand,675wsHttpBindingconfiguringWCFtousemessagesecurity,689serverconfiguration,WCFservices,698WCFservicebindings,680XX.
509certificate,acquiring,686X509FindTypeproperty,690XMLservicesfaultcontracts,683intendeduseof,678.
NETcreatingandconsuming,678SOAterminology,676,677securityandinternalapplications,7
HostKvm是一家成立于2013年的国外主机服务商,主要提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。目前商家发布了夏季特别促销活动,针对香港国际/韩国机房VPS主机提供7折优惠码,其他机房全场8折,优惠后2GB内存套餐月付5.95美元起。下面分别列出几款主机套餐配置信息。套餐:韩国KR...
DogYun怎么样?DogYun是一家2019年成立的国人主机商,称为狗云,提供VPS及独立服务器租用,其中VPS分为经典云和动态云(支持小时计费及随时可删除),DogYun云服务器基于Kernel-based Virtual Machine(Kvm)硬件的完全虚拟化架构,您可以在弹性云中,随时调整CPU,内存,硬盘,网络,IPv4路线(如果该数据中心接入了多条路线)等。DogYun弹性云服务器优...
webhosting24决定从7月1日开始对日本机房的VPS进行NVMe和流量大升级,几乎是翻倍了硬盘和流量,当然前提是价格依旧不变。目前来看,国内过去走的是NTT直连,服务器托管机房应该是CDN77*(也就是datapacket.com),加上高性能平台(AMD Ryzen 9 3900X+NVMe),这样的日本VPS还是有相当大的性价比的。官方网站:https://www.webhosting...
selectedindexchanged为你推荐
怎么在qq空间里添加背景音乐怎样在qq空间里免费添加背景音乐?ghostxp3GhostXP3电脑公司特别版V499怎么安装flash导航条flash导航条swf格式的要怎么编辑伪静态什么是伪静态伪静态有何作用arm开发板开发板是什么?如ARM开发板,DSP开发板等。。它和最终目标板有何区别?网店推广网站网店怎么推广?雅虎天盾有没有用用雅虎天盾的啊?免费免费建站可以不用钱免费做一个网站吗ejb开发EJB是啥玩意了2012年正月十五山西省太原市2012年正月十五活动的相关情况
虚拟主机代理 vps安全设置 webhostingpad 外国服务器 国外服务器 便宜建站 美国主机代购 nerd 美国php主机 搜狗12306抢票助手 国内php空间 合肥鹏博士 华为网络硬盘 上海域名 申请个人网站 vip购优汇 环聊 贵阳电信 114dns 重庆服务器 更多