0
でアクセスする必要があります。別のドメインの次のディレクトリにアクセスして、C#プログラムにアクセスする必要があります。私はどのように進めるべきですか?私は偽装方法を使用するべきですか?別のドメインのリモートディレクトリにc#
string[] files = Directory.GetFiles(@"\\testweb\folder\test", "*.txt");
助けてください。
でアクセスする必要があります。別のドメインの次のディレクトリにアクセスして、C#プログラムにアクセスする必要があります。私はどのように進めるべきですか?私は偽装方法を使用するべきですか?別のドメインのリモートディレクトリにc#
string[] files = Directory.GetFiles(@"\\testweb\folder\test", "*.txt");
助けてください。
これを実行する前に、適切にユーザーを使用してドメインへの接続を作成する必要があります(これが解決したい場合)。次に、あなたのGetFilesメソッドが正常に動作します
public class MprWrapper
{
[DllImport("Mpr.dll")]
private static extern int WNetUseConnection(
IntPtr hwndOwner,
_NETRESOURCE lpNetResource,
string lpPassword,
string lpUserID,
int dwFlags,
string lpAccessName,
string lpBufferSize,
string lpResult
);
struct _NETRESOURCE
{
public int dwScope;
public int dwType;
public int dwDisplayType;
public int dwUsage;
public string lpLocalName;
public string lpRemoteName;
public string lpComment;
public string lpProvider;
}
public static void WNetUseConnection(string remoteName, string user, string pass)
{
_NETRESOURCE myStruct = new _NETRESOURCE
{
dwType = 1, //it's a disk (0 is any, 2 is printer)
lpRemoteName = remoteName
};
int error = WNetUseConnection(new IntPtr(0), myStruct, pass, user, 0, null, null, null);
if (error != 0)
{
throw new Exception("That didn't work either");
}
// if we reach here then everything worked!!!
}
}
あなたは
MprWrapper.WNetUseConnection(@"\\DomainAddressHere", @"Domain\User", "Password1");
との接続:あなたはこのクラスを使用してそれを行うことができます。これは潜在的にオープンな接続を残しますが(複数のものを作成するわけではありません)、とにかくそれを閉じるためのコードを作成したり、すべてを正しく処理するなどしたいかもしれません。これは単なる出発点に過ぎません。
この接続はどこに作成しますか? – velvt
@velvtメソッドを呼び出す前に – Gaspa79