InfoPath Forms Services の構成設定をログに記録およびリセットする

最終更新日: 2010年3月30日

適用対象: SharePoint Server 2010

このタスクでは、FormsService クラスおよび関連するメンバーを使用して、SharePoint 2010 サーバーの全体管理サイトの [アプリケーションの全般設定] ページにある [InfoPath Forms Services の構成] ページのほとんどのアイテムの既定値を設定します。

このプロジェクトで作成するフォームには、ボタンとリッチ テキスト ボックスが含まれます。実行時に、リッチ テキスト ボックスには、構成プロパティを設定するために使用されたクラス メンバーの名前と、各メンバーの古い値と新しい値が表示されます。

注意

このトピックは、InfoPath Forms Services を実行している Web フロントエンド (WFE) またはシングル ファーム サーバーに、Microsoft Visual Studio がインストールされていることを前提とします。

プロジェクトをセットアップするには

  1. Microsoft Visual Studio で、新しい Visual Basic Windows フォーム アプリケーション プロジェクトを作成します。

  2. [プロジェクト] メニューの [参照の追加] をクリックします。

  3. [参照の追加] ダイアログ ボックスの [.NET] タブで、[Microsoft.SharePoint Foundation] を選択し、[OK] をクリックします ([Microsoft SharePoint Foundation] が [.NET] タブにない場合、[参照] タブで、C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\ を参照し、Microsoft.SharePoint.dll アセンブリを選択して、次に [OK] をクリックします)。

  4. もう一度 [プロジェクト] メニューの [参照の追加] をクリックします。

  5. [参照の追加] ダイアログ ボックスの [参照] タブで、C:\Program Files\Microsoft Office Servers\14.0\Bin\ を参照し、Microsoft.Office.InfoPath.Server.dll アセンブリを選択して、[OK] をクリックします。

フォームにコントロールとコードを追加するには

  1. フォームに以下のコントロールを追加します。これらのコントロールは、Visual Studio の [ツールボックス] の [すべての Windows フォーム] カテゴリに表示されます。

    • 1 つの Button コントロール

    • 1 つの RichTextBox コントロール

  2. [プロパティ] ウィンドウでボタンの Text プロパティを変更して、ボタンの名前を "List and Reset Configuration Settings" に変更します。

  3. ボタン上にすべてのテキストが表示され、フォームの大部分の領域が RichTextBox コントロールによって占められるように、フォームとコントロールの配置およびサイズを調整します。

  4. [表示] メニューの [コード] をクリックします。

  5. 以下のコードをコード ウィンドウに貼り付けて、既存のコードをすべて置き換えます。

  6. [ウィンドウ] メニューの [Form1.vb [デザイン]] をクリックします。

  7. [プロパティ] ウィンドウで、ドロップダウン リストをクリックし、[Button1] をクリックします。

  8. [プロパティ] ウィンドウで [イベント] ボタンをクリックします。このボタンは、通常、ドロップダウン リストの下に並んでいるボタンの左から 4 番目のボタンです。

  9. [アクション] セクションで、Click イベントのボックスをクリックし、[Button1_Click] をクリックします。

  10. [ファイル] メニューの [すべて保存] をクリックします。

  11. F5 キーを押してアプリケーションを実行します。

前述の手順に従って、次のコード例を使用して InfoPath Forms Services の構成設定をログに記録してリセットする、新しい Visual Basic Windows フォーム アプリケーションを作成します。

Imports Microsoft.SharePoint.Administration
Imports Microsoft.Office.InfoPath.Server.Administration

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim LocalFormsService As FormsService
        Dim LocalFarm As SPFarm = SPFarm.Local
        Dim StrLog As String = ""

        Try
            LocalFormsService = LocalFarm.Services.GetValue(Of FormsService)(FormsService.ServiceName)
            'Build a string with the old a new value of each property
            With LocalFormsService
                StrLog = StrLog + "ActiveSessionsTimeout changed from " + _
                .ActiveSessionsTimeout.ToString() + " to 1440." + Environment.NewLine
                .ActiveSessionsTimeout = 1440

                StrLog = StrLog + "AllowEmbeddedSqlForDataConnections changed from " + _
                .AllowEmbeddedSqlForDataConnections.ToString() + " to False." + Environment.NewLine
                .AllowEmbeddedSqlForDataConnections = False

                StrLog = StrLog + "AllowUdcAuthenticationForDataConnections changed from " + _
                .AllowUdcAuthenticationForDataConnections.ToString() + " to False." + Environment.NewLine
                .AllowUdcAuthenticationForDataConnections = False

                StrLog = StrLog + "AllowUserFormBrowserEnabling changed from " + _
                .AllowUserFormBrowserEnabling.ToString() + " to True." + Environment.NewLine
                .AllowUserFormBrowserEnabling = True

                StrLog = StrLog + "AllowUserFormBrowserRendering changed from " + _
                .AllowUserFormBrowserRendering.ToString() + " to True." + Environment.NewLine
                .AllowUserFormBrowserRendering = True

                StrLog = StrLog + "AllowUserFormCrossDomainDataConnections changed from " + _
                .AllowUserFormCrossDomainDataConnections.ToString() + " to False." + Environment.NewLine
                .AllowUserFormCrossDomainDataConnections = False

                StrLog = StrLog + "AllowViewState changed from " + _
                .AllowViewState.ToString() + " to False." + Environment.NewLine
                .AllowViewState = False

                StrLog = StrLog + "DefaultDataConnectionTimeout changed from " + _
                .DefaultDataConnectionTimeout.ToString() + " to 10000." + Environment.NewLine
                .DefaultDataConnectionTimeout = 10000

                StrLog = StrLog + "MaxDataConnectionResponseSize changed from " + _
                .MaxDataConnectionResponseSize.ToString() + " to 1500." + Environment.NewLine
                .MaxDataConnectionResponseSize = 1500

                StrLog = StrLog + "MaxDataConnectionTimeout changed from " + _
                .MaxDataConnectionTimeout.ToString() + " to 20000." + Environment.NewLine
                .MaxDataConnectionTimeout = 20000

                StrLog = StrLog + "MaxPostbacksPerSession changed from " + _
                .MaxPostbacksPerSession.ToString() + " to 75." + Environment.NewLine
                .MaxPostbacksPerSession = 75

                StrLog = StrLog + "MaxSizeOfFormSessionState changed from " + _
                .MaxSizeOfFormSessionState.ToString() + " to 4194304." + Environment.NewLine
                .MaxSizeOfFormSessionState = 4194304

                StrLog = StrLog + "MaxUserActionsPerPostback changed from " + _
                .MaxUserActionsPerPostback.ToString() + " to 200." + Environment.NewLine
                .MaxUserActionsPerPostback = 200

                StrLog = StrLog + "RequireSslForDataConnections changed from " + _
                .RequireSslForDataConnections.ToString() + " to False." + Environment.NewLine
                .RequireSslForDataConnections = False

                StrLog = StrLog + "ViewStateThreshold changed from " + _
                .ViewStateThreshold.ToString() + " to 40960." + Environment.NewLine
                .ViewStateThreshold = 40960
            End With
            'Populate the rich text box with the log
            RichTextBox1.Text = StrLog
        Catch ex As Exception
            MessageBox.Show("An error has occurred: " + ex.Message.ToString())
        End Try

    End Sub
End Class

関連項目

その他の技術情報

InfoPath Forms Services の管理タスクを実行する Windows アプリケーションを開発する