Close 方法 (2003 系統)
關閉 ServerDocument。
命名空間: Microsoft.VisualStudio.Tools.Applications.Runtime
組件: Microsoft.VisualStudio.Tools.Applications.Runtime (在 Microsoft.VisualStudio.Tools.Applications.Runtime.dll 中)
語法
'宣告
Public Sub Close
'用途
Dim instance As ServerDocument
instance.Close()
public void Close()
備註
呼叫這個方法,釋放所有資源並關閉 ServerDocument。
範例
下列程式碼範例會建立新的 ServerDocument,修改指定文件中快取的資料,然後使用 Close 方法關閉 ServerDocument。這個範例需要對 Microsoft.VisualStudio.Tools.Applications.Runtime 組件的參考,並且在程式碼檔的開頭需要 Microsoft.VisualStudio.Tools.Applications.Runtime 命名空間的 Imports (適用於 Visual Basic) 或 using (適用於 C#) 陳述式。
Private customerOrdersSet As DataSet
Private Sub LoadCachedData(ByVal fileName As String)
If ServerDocument.IsCacheEnabled(fileName) Then
Dim serverDocument1 As ServerDocument = Nothing
Try
serverDocument1 = New ServerDocument(fileName)
customerOrdersSet = New DataSet()
' Identify the namespace and the class that
' contains the cached data object.
Dim hostItem1 As CachedDataHostItem = _
serverDocument1.CachedData.HostItems( _
"DataCachingSource.ThisWorkbook")
' Identify the name of the cached data object.
Dim dataItem1 As CachedDataItem = _
hostItem1.CachedData("customerOrdersCached")
' Read the cached data into the local DataSet.
If Nothing <> dataItem1.Xml AndAlso _
Nothing <> dataItem1.Schema Then
Dim xmlReader As New System.IO.StringReader( _
dataItem1.Xml)
Dim schemaReader As New System.IO.StringReader( _
dataItem1.Schema)
customerOrdersSet.ReadXmlSchema(schemaReader)
customerOrdersSet.ReadXml(xmlReader)
' Modify the data.
Dim row As DataRow
For Each row In customerOrdersSet.Tables(0).Rows
Dim orders As Integer = Fix(row("OrderQuantity"))
row("OrderQuantity") = orders * 2
Next row
' Write the modified data back to the
' cached data in the worksheet.
dataItem1.SerializeDataInstance(customerOrdersSet)
serverDocument1.Save()
End If
Finally
If Not serverDocument1 Is Nothing Then
serverDocument1.Close()
End If
End Try
Else
MsgBox("The specified document does not have " + _
"a data cache.")
End If
End Sub
private DataSet customerOrdersSet;
private void LoadCachedData(string fileName)
{
if (ServerDocument.IsCacheEnabled(fileName))
{
ServerDocument serverDocument1 = null;
try
{
serverDocument1 = new ServerDocument(fileName);
customerOrdersSet = new DataSet();
// Identify the namespace and the class that contains
// the cached data object.
CachedDataHostItem hostItem1 =
serverDocument1.CachedData.HostItems[
"DataCachingSource.ThisWorkbook"];
// Identify the name of the cached data object.
CachedDataItem dataItem1 = hostItem1.CachedData[
"customerOrdersCached"];
// Read the cached data into the local DataSet.
if (null != dataItem1.Xml && null != dataItem1.Schema)
{
System.IO.StringReader xmlReader =
new System.IO.StringReader(dataItem1.Xml);
System.IO.StringReader schemaReader =
new System.IO.StringReader(dataItem1.Schema);
customerOrdersSet.ReadXmlSchema(schemaReader);
customerOrdersSet.ReadXml(xmlReader);
// Modify the data.
foreach (DataRow row in
customerOrdersSet.Tables[0].Rows)
{
int orders = (int)row["OrderQuantity"];
row["OrderQuantity"] = orders * 2;
}
// Write the modified data back to the
// cached data in the worksheet.
dataItem1.SerializeDataInstance(customerOrdersSet);
serverDocument1.Save();
}
}
finally
{
if (serverDocument1 != null)
serverDocument1.Close();
}
}
else
{
MessageBox.Show("The specified document does not have " +
"a data cache.");
}
}
使用權限
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。