Use of the wwDbResourceProvider should be nearly transparent and is no different than using standard ASP.NET resources in ResX files.

In code you can access the resource provider:

object Value = this.GetLocalResourceObject("ResourceName"); object GlobalValue = this.GetGlobalResourceObject("Resources","ResourceKey");

You can also use explicit and implicit expressions:

Explicit Resource Expression:

<asp:Label ID="lblCompany" runat="server" Text="<%$ Resources: lblCompany.Text %>" />

The above is a Local resource expression. A global resource expression looks similar but specifies the ResourceSet name:

<asp:Label ID="lblCompany" runat="server" Text="<%$ Resources: Resources,lblCompany.Text %>" />

where Resources is the ResourceSetId (for a ResX file it would be the base filename - for DbResourceProvider it's the ResourceSet field in the database).

Explicit resource expressions are manually placed into the markup of a page, control or master and are evaluated by ASP.NET at compiletime. These expressions actually are translated into calls to GetLocalResourceObject() or GetGlobalResourceObject calls at compile time and embedded into the page parse tree of the page.

These expressions are called explicit because you have to explicitly assign them to a particular property value. Note that these expressions can only be assigned to properties and cannot be combined with other strings or formatting.

Implicit Resource Keys:

<asp:Label ID="lblCompany" runat="server" Text="Company:" meta:resourcekey="lblCompany" />

Implicit resources keys can be generated automatically in the Visual Studio IDE by opening a page/control/master in design view and selecting Generate Local Resources from the Tools menu. This operation goes through all of the controls on the page picks up any that are marked iwth the [Localizable] attribute and adding a meta:ResourceKey attribute to the control. This attribute basically asks the provider to return all properties that match a given control prefix - in the above case all properties for lblCompany, that exist as resource keys. So there may be lblMessage.Text, lblMessage.ToolTip and if both exist in the resource store both will be localized.

These keys are called implicit because the provider brings back any matching properties rather than just one.

Important:
Both Implicit and Explicit Expressions are checked at COMPILE time. If for some reason the resources are missing you get an error (in the case of Explicit Keys) or the code to perform the localization is not generated (Implicit keys). Explicit keys especially can be troublesome since they can definitely break the build if a resource specified cannot be found in the resource store. Missing implicit resources can result in no text being assigned to resources which makes for a very unusable user interface <s>.