Application.CacheFormTemplate Method (Microsoft.Office.InfoPath)

Examines the form template in the cache and, if necessary, updates it from the published location of the form template.

Namespace: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in microsoft.office.infopath.dll)

Syntax

'Declaration
Public MustOverride Sub CacheFormTemplate ( _
    formTemplateLocation As String _
)
'Usage
Dim instance As Application
Dim formTemplateLocation As String

instance.CacheFormTemplate(formTemplateLocation)
public abstract void CacheFormTemplate (
    string formTemplateLocation
)

Parameters

  • formTemplateLocation
    Specifies the Uniform Resource Identifier (URI) of the form template. This parameter can be specified as a form definition (.xsf) file or a form template (.xsn) file.

Exceptions

Exception type Condition

FileNotFoundException

The form template file cannot be found.

ArgumentNullException

The parameter passed to this method is null.

ArgumentException

The parameter passed to this method isnot valid. For example, they are of the wrong type or format.

Remarks

If the form template that currently exists in the cache matches the form template from the published location, no caching takes place. If the computer is offline and the form is already in the cache, the cache is kept and no update will occur.

This member can be accessed only by forms opened from a form template that as been configured to run with full trust using the Security and Trust category of the Form Options dialog box. This member requires full trust for the immediate caller and cannot be used by partially trusted code. For more information, see "Using Libraries from Partially Trusted Code" on MSDN.

This type or member can be accessed only from code running in forms opened in Microsoft Office InfoPath 2007.

Example

In the following example, the CacheMyFormTemplates custom function loops through the location for each the form template specified in the forms array and passes that value to the CacheFormTemplate method for evaluation.

private string[] _forms = 
{ 
   @"\\MyServer\MyForms\MyForm.xsn", 
   @"\\MyServer\MyForms\manifest.xsf" 
};

private void someFunction()
{
...
   CacheMyFormTemplates(_forms);
...
}

private void CacheMyFormTemplates(string[] forms)
{ 
   foreach (string form in forms)
   {
      this.Application.CacheFormTemplate(form);
   }
}

.NET Framework Security

See Also

Reference

Application Class
Application Members
Microsoft.Office.InfoPath Namespace