2009-06-04 9 views
4

ドキュメントライブラリのドキュメントのECBにメニュー項目を追加しました。そのメニューをクリックすると、その文書を自分のアプリケーションにコピーします。この目的のために、SharePointサーバがインストールされている同じマシンにドキュメントの一時ファイルを作成する必要があります。問題は、一時ファイルをどこに作成するかです。 解決策の1つは、現在のユーザー(共有ポイントにログインしているユーザー)のTEMPフォルダです。しかし、シェアポイントでは、Active Directoryのユーザーもログインできますが、一時フォルダーはそのコンピューター上のユーザーのみが使用できます。 短期的には、すべてのユーザー(そのユーザーとADユーザーのユーザー)がファイルの作成と削除の権限を持つフォルダに一時ファイルを作成する必要があります。SharePointの一時フォルダ/場所

sharepointは、この目的のために特定の場所を推奨していますか?

答えて

4

あなたは、このために、.NETの機能を使用する必要がありますので、SharePointは、.NETを使用しています。

string tempFilename = System.IO.Path.GetTempFileName(); 

TEMPのサービスアカウントの概念は、ログインしていないユーザーの、使用されます。あなたの答えのための

+0

こんにちはOisin ありがとう-Oisin

。 >>サービスアカウントのTEMPという概念は、ログインユーザーの<< ではなく使用されます。私がGetTempFileName()関数を使用すると、ログインしているユーザーのものを使用して一時ファイルが作成されないサービスアカウントの資格情報を使用しています。「サービスアカウントのTEMP概念」の意味は – Anoop

+0

です。サービスアカウントの%TEMP%varを使用する必要があります。現在ログインしているユーザーではありません。それを試して、私はかなり確信しています。 – x0n

+0

偽装された「通常の」ユーザーのコンテキストで実行されている場合、そのコードを実行するためにアプリケーションプールのIDにいつでも戻すことができます。これは、もちろん、あなたのコードが正しいプールを持っていることを前提としています。これは、App Poolアイデンティティに戻ることを前提としています。 –

関連する問題