ObjectDataSourceDisposingEventArgs.ObjectInstance プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > ObjectDataSourceDisposingEventArgs.ObjectInstance プロパティの意味・解説 

ObjectDataSourceDisposingEventArgs.ObjectInstance プロパティ

メモ : このプロパティは、.NET Framework version 2.0新しく追加されたものです。

ObjectDataSource コントロールデータ操作を行うときに使用するビジネス オブジェクトを表すオブジェクト取得します

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

Dim instance As ObjectDataSourceDisposingEventArgs
Dim value As Object

value = instance.ObjectInstance
public Object ObjectInstance { get; }
public:
property Object^ ObjectInstance {
    Object^ get ();
}
/** @property */
public Object get_ObjectInstance ()
public function get ObjectInstance
 () : Object

プロパティ
ObjectDataSourceデータ操作実行するために使用するビジネス オブジェクトそれ以外null 参照 (Visual Basic では Nothing) が ObjectDataSourceEventArgs に渡される場合は、null 参照 (Visual Basic では Nothing)。

解説解説
使用例使用例

ビジネス オブジェクトおよび GridView コントロールで、ObjectDataSource コントロール使用して情報表示する方法次のコード例示しますWeb ページ実行されるデータ操作に、作成時の負荷大きい (作成時間がかかるリソース消費激しいなど) ビジネス オブジェクト使用している可能性あります負荷のかかるオブジェクト使用する場合は、データ操作するたびにインスタンス化破棄繰り返すではなくインスタンス化したオブジェクト後続の処理で再利用できるようにキャッシュ格納しておくことをお勧めます。この例では、このパターン示しますObjectCreating イベント処理することで、キャッシュオブジェクト存在するかどうかチェックしてから、存在しない場合にのみ、インスタンス作成できます次にObjectDisposing イベント処理しビジネス オブジェクト破棄せずに、キャッシュ保存して後で使用できるようにします。この例では、ObjectDataSourceインスタンスDispose呼び出さないように、ObjectDataSourceDisposingEventArgs クラスの CancelEventArgs.Cancel プロパティtrue設定されています。

<%@ Import namespace="Samples.AspNet.VB"
 %>
<%@ Page language="vb" %>
<Script runat="server">

' Instead of creating and destroying the business object each time,
 the 
' business object is cached in the ASP.NET Cache.
Sub GetEmployeeLogic(sender As Object,
 e As ObjectDataSourceEventArgs)

    ' First check to see if an instance of this object already exists
 in the Cache.
    Dim cachedLogic As EmployeeLogic 
    
    cachedLogic = CType( Cache("ExpensiveEmployeeLogicObject"),
 EmployeeLogic)
    
    If (cachedLogic Is Nothing)
 Then
            cachedLogic = New EmployeeLogic            
    End If
        
    e.ObjectInstance = cachedLogic
    
End Sub ' GetEmployeeLogic

Sub ReturnEmployeeLogic(sender As Object,
 e As ObjectDataSourceDisposingEventArgs)
    
    ' Get the instance of the business object that the ObjectDataSource
 is working with.
    Dim cachedLogic  As EmployeeLogic  
    cachedLogic = CType( e.ObjectInstance, EmployeeLogic)
    
    ' Test to determine whether the object already exists in the cache.
    Dim temp As EmployeeLogic 
    temp = CType( Cache("ExpensiveEmployeeLogicObject"),
 EmployeeLogic)
    
    If (temp Is Nothing)
 Then
        ' If it does not yet exist in the Cache, add it.
        Cache.Insert("ExpensiveEmployeeLogicObject",
 cachedLogic)
    End If
    
    ' Cancel the event, so that the object will 
    ' not be Disposed if it implements IDisposable.
    e.Cancel = True
End Sub ' ReturnEmployeeLogic
</Script>

<html>
  <head>
    <title>ObjectDataSource - VB Example</title>
  </head>
  <body>
    <form id="Form1" method="post"
 runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"          
          datasourceid="ObjectDataSource1">
        </asp:gridview>

        <asp:objectdatasource 
          id="ObjectDataSource1"
          runat="server"          
          selectmethod="GetCreateTime"          
          typename="Samples.AspNet.VB.EmployeeLogic"
          onobjectcreating="GetEmployeeLogic"
          onobjectdisposing="ReturnEmployeeLogic"
 >
        </asp:objectdatasource>        

    </form>
  </body>
</html>
<%@ Import namespace="Samples.AspNet.CS" %>
<%@ Page language="c#" %>
<Script runat="server">

// Instead of creating and destroying the business object each time,
 the 
// business object is cached in the ASP.NET Cache.
private void GetEmployeeLogic(object sender,
 ObjectDataSourceEventArgs e)
{
    // First check to see if an instance of this object already exists
 in the Cache.
    EmployeeLogic cachedLogic;
    
    cachedLogic = Cache["ExpensiveEmployeeLogicObject"] as EmployeeLogic;
    
    if (null == cachedLogic) {
            cachedLogic = new EmployeeLogic();            
    }
        
    e.ObjectInstance = cachedLogic;     
}

private void ReturnEmployeeLogic(object sender,
 ObjectDataSourceDisposingEventArgs e)
{    
    // Get the instance of the business object that the ObjectDataSource
 is working with.
    EmployeeLogic cachedLogic = e.ObjectInstance as EmployeeLogic;        
    
    // Test to determine whether the object already exists in the cache.
    EmployeeLogic temp = Cache["ExpensiveEmployeeLogicObject"] as EmployeeLogic;
    
    if (null == temp) {
        // If it does not yet exist in the Cache, add it.
        Cache.Insert("ExpensiveEmployeeLogicObject", cachedLogic);
    }
    
    // Cancel the event, so that the object will 
    // not be Disposed if it implements IDisposable.
    e.Cancel = true;
}
</Script>

<html>
  <head>
    <title>ObjectDataSource - C# Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"          
          datasourceid="ObjectDataSource1">
        </asp:gridview>

        <asp:objectdatasource 
          id="ObjectDataSource1"
          runat="server"          
          selectmethod="GetCreateTime"          
          typename="Samples.AspNet.CS.EmployeeLogic"
          onobjectcreating="GetEmployeeLogic"
          onobjectdisposing="ReturnEmployeeLogic" >
        </asp:objectdatasource>        

    </form>
  </body>
</html>
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ObjectDataSourceDisposingEventArgs クラス
ObjectDataSourceDisposingEventArgs メンバ
System.Web.UI.WebControls 名前空間
ObjectDataSource.ObjectCreating イベント
ObjectInstance



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

ObjectDataSourceDisposingEventArgs.ObjectInstance プロパティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ObjectDataSourceDisposingEventArgs.ObjectInstance プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS