名前付きパイプのエラー コード 1346 で UnknownErrorException を取得しました。コードは次のとおりです (注: クライアントとサーバーは別のマシンにあります)。
サーバーコード:
public static void ReadFile()
{
string contents = File.ReadAllText(@"d:\123.txt"); <-- exception
}
public static void Main()
{
var pipe = new NamedPipeServerStream("testpipe", PipeDirection.InOut);
while (true)
{
pipe.WaitForConnection();
pipe.RunAsClient(ReadFile);
}
}
クライアントコード
NamedPipeClientStream pipeClient =
new NamedPipeClientStream("\\jachang-w1", "testpipe",
PipeDirection.InOut, PipeOptions.None,
TokenImpersonationLevel.Impersonation);
pipeClient.Connect();
Google から情報を検索したところ、「ERROR_BAD_IMPERSONATION_LEVEL、必要な偽装レベルが提供されていないか、提供された偽装レベルが無効です」というエラーが見つかりました。
しかし、クライアントで TokenImpersonationLevel.Impersonation を設定したので、サーバーはそれにアクセスできるはずです。誰かが私に何が悪いのか教えてもらえますか? どうすればいいですか?
ありがとう