|Data distribution methods
|.NET assembly resources
||Store the data driving the validators as XML within text-based resources of a .NET assembly.
||Uses .NET no-touch auto-deployment to update validator data to client apps. Loads SOAP-serialized XML stream from a resource assembly.
||Validation changes require recompiling resources. Validation variation not supporteduses one set of data for all users and requests.
||Apps with low variability that require ease of implementation.
||Response to each Web service DataSet request could contain corresponding validation data as XML.
||Allows variation of validation data for each request. Doesn't require recompilation of an assembly for data updates.
||Sends validation data with response, often slowing app. Invasive changes needed to modify validation request processing.
||Apps with high variability and unavoidable implementation cost and performance impact.
||Data driving the validators is requested once by the client when the app is executed, then cached in memory during its use.
||Validation can vary in context of each user. Retrieves validation data only once per use, removing performance hit for per-request payloads.
||Limits variability to user context, not single requests. Extra call needed to get validation data at startup. Client code needed to match validators to payload data sets.
||Apps with medium variability in validation data that changes relatively frequently and varies by user but not request. Minimal performance and implementation costs.