Copy files over WAN?

Copy files over WAN?

am 24.01.2008 19:06:04 von glbdev

Hi.

I have an application which is copying files from one location to
another using UNC paths. This is working fine right now using a local
machine but it will soon be moved to a WAN and I am wondering what
type, if any, problems I may have in doing this.

Does anyone have any experience with this and what can I expect or do
to eliminate any potential problems.

Thanks in advance

Steve

Re: Copy files over WAN?

am 24.01.2008 19:17:38 von Eliyahu Goldin

You will have to take care of security. You may want to impersonate the
asp.net working process as a user with network rights.

--
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin


wrote in message
news:f7140c5b-76e9-49bb-a849-ff11bc2fc804@v67g2000hse.google groups.com...
> Hi.
>
> I have an application which is copying files from one location to
> another using UNC paths. This is working fine right now using a local
> machine but it will soon be moved to a WAN and I am wondering what
> type, if any, problems I may have in doing this.
>
> Does anyone have any experience with this and what can I expect or do
> to eliminate any potential problems.
>
> Thanks in advance
>
> Steve

Re: Copy files over WAN?

am 24.01.2008 19:24:20 von George Ter-Saakov

The problem (and the only one) is security.

I assume that you coping file from ASP.NET hence under local ASP.NET account
your pages running under.
So you either allow access read/write to those folders to "everyone"
account.
Or you you will have to go there (to those shared folders) using different
accounts.

Here is how to do that. I am reading file from protected share folder into
byte array into this example.
#region WIN API Declarations

//used in calling WNetAddConnection2

[StructLayout(LayoutKind.Sequential)]

public struct NETRESOURCE

{

public int dwScope;

public int dwType;

public int dwDisplayType;

public int dwUsage;

[MarshalAs(UnmanagedType.LPStr)]

public string lpLocalName;

[MarshalAs(UnmanagedType.LPStr)]

public string lpRemoteName;

[MarshalAs(UnmanagedType.LPStr)]

public string lpComment;

[MarshalAs(UnmanagedType.LPStr)]

public string lpProvider;

}

//WIN32API - WNetAddConnection2

[DllImport("mpr.dll",

CharSet = System.Runtime.InteropServices.CharSet.Auto)]

private static extern int WNetAddConnection2A(

[MarshalAs(UnmanagedType.LPArray)] NETRESOURCE[] lpNetResource,

[MarshalAs(UnmanagedType.LPStr)] string lpPassword,

[MarshalAs(UnmanagedType.LPStr)] string lpUserName,

int dwFlags);

[DllImport("mpr.dll",

CharSet = System.Runtime.InteropServices.CharSet.Auto)]

private static extern int WNetCancelConnection2A(

[MarshalAs(UnmanagedType.LPStr)] string lpName,

int dwFlags, int fForce);

#endregion

private byte[] GetFSMSFile(string sFile)

{

NETRESOURCE[] nr = new NETRESOURCE[1];

nr[0].lpRemoteName = _sFSMSShare;

nr[0].lpLocalName = ""; //mLocalName;

nr[0].dwType = 1; //disk

nr[0].dwDisplayType = 0;

nr[0].dwScope = 0;

nr[0].dwUsage = 0;

nr[0].lpComment = "";

nr[0].lpProvider = "";

int iErr = WNetAddConnection2A(nr, _sFSMSShareUserPassword, _sFSMSShareUser,
0);

if (iErr > 0)

throw new Exception("Can not connect to FSMS share folder");

FileStream st = null;

try

{

st = new FileStream(_sFSMSShare + "\\" + sFile, FileMode.Open);

int iLen = (int)st.Length;

byte []b = new byte[iLen];

st.Read(b, 0, iLen);

return b;

}

finally

{

if( st != null )

st.Close();

WNetCancelConnection2A(_sFSMSShare, 0, -1);

}

}

}




wrote in message
news:f7140c5b-76e9-49bb-a849-ff11bc2fc804@v67g2000hse.google groups.com...
> Hi.
>
> I have an application which is copying files from one location to
> another using UNC paths. This is working fine right now using a local
> machine but it will soon be moved to a WAN and I am wondering what
> type, if any, problems I may have in doing this.
>
> Does anyone have any experience with this and what can I expect or do
> to eliminate any potential problems.
>
> Thanks in advance
>
> Steve

Re: Copy files over WAN?

am 24.01.2008 19:31:21 von glbdev

On Jan 24, 1:17=A0pm, "Eliyahu Goldin"
wrote:
> You will have to take care of security. You may want to impersonate the
> asp.net working process as a user with network rights.
>
> --
> Eliyahu Goldin,
> Software Developer
> Microsoft MVP [ASP.NET]http://msmvps.com/blogs/egoldin
>
> wrote in message
>
> news:f7140c5b-76e9-49bb-a849-ff11bc2fc804@v67g2000hse.google groups.com...
>
>
>
> > Hi.
>
> > I have an application which is copying files from one location to
> > another using UNC paths. =A0This is working fine right now using a local=

> > machine but it will soon be moved to a WAN and I am wondering what
> > type, if any, problems I may have in doing this.
>
> > Does anyone have any experience with this and what can I expect or do
> > to eliminate any potential problems.
>
> > Thanks in advance
>
> > Steve- Hide quoted text -
>
> - Show quoted text -

Thanks Eliyahu, I have thought of this and appreciate the input.

Steve

Re: Copy files over WAN?

am 24.01.2008 19:39:56 von glbdev

On Jan 24, 1:24=A0pm, "George Ter-Saakov" wrote:
> The problem (and the only one) is security.
>
> I assume that you coping file from ASP.NET hence under local ASP.NET accou=
nt
> your =A0pages running under.
> So you either allow access read/write to those folders to "everyone"
> account.
> Or you you will have to go there (to those shared folders) using different=

> accounts.
>
> Here is how to do that. I am reading file from protected share folder into=

> byte array into this example.
> #region WIN API Declarations
>
> //used in calling WNetAddConnection2
>
> [StructLayout(LayoutKind.Sequential)]
>
> public struct NETRESOURCE
>
> {
>
> public int dwScope;
>
> public int dwType;
>
> public int dwDisplayType;
>
> public int dwUsage;
>
> [MarshalAs(UnmanagedType.LPStr)]
>
> public string lpLocalName;
>
> [MarshalAs(UnmanagedType.LPStr)]
>
> public string lpRemoteName;
>
> [MarshalAs(UnmanagedType.LPStr)]
>
> public string lpComment;
>
> [MarshalAs(UnmanagedType.LPStr)]
>
> public string lpProvider;
>
> }
>
> //WIN32API - WNetAddConnection2
>
> [DllImport("mpr.dll",
>
> CharSet =3D System.Runtime.InteropServices.CharSet.Auto)]
>
> private static extern int WNetAddConnection2A(
>
> [MarshalAs(UnmanagedType.LPArray)] NETRESOURCE[] lpNetResource,
>
> [MarshalAs(UnmanagedType.LPStr)] string lpPassword,
>
> [MarshalAs(UnmanagedType.LPStr)] string lpUserName,
>
> int dwFlags);
>
> [DllImport("mpr.dll",
>
> CharSet =3D System.Runtime.InteropServices.CharSet.Auto)]
>
> private static extern int WNetCancelConnection2A(
>
> [MarshalAs(UnmanagedType.LPStr)] string lpName,
>
> int dwFlags, int fForce);
>
> #endregion
>
> private byte[] GetFSMSFile(string sFile)
>
> {
>
> NETRESOURCE[] nr =3D new NETRESOURCE[1];
>
> nr[0].lpRemoteName =3D _sFSMSShare;
>
> nr[0].lpLocalName =3D ""; //mLocalName;
>
> nr[0].dwType =3D 1; //disk
>
> nr[0].dwDisplayType =3D 0;
>
> nr[0].dwScope =3D 0;
>
> nr[0].dwUsage =3D 0;
>
> nr[0].lpComment =3D "";
>
> nr[0].lpProvider =3D "";
>
> int iErr =3D WNetAddConnection2A(nr, _sFSMSShareUserPassword, _sFSMSShareU=
ser,
> 0);
>
> if (iErr > 0)
>
> throw new Exception("Can not connect to FSMS share folder");
>
> FileStream st =3D null;
>
> try
>
> {
>
> st =3D new FileStream(_sFSMSShare + "\\" + sFile, FileMode.Open);
>
> int iLen =3D (int)st.Length;
>
> byte []b =3D new byte[iLen];
>
> st.Read(b, 0, iLen);
>
> return b;
>
> }
>
> finally
>
> {
>
> if( st !=3D null )
>
> st.Close();
>
> WNetCancelConnection2A(_sFSMSShare, 0, -1);
>
> }
> }
> }
> wrote in message
>
> news:f7140c5b-76e9-49bb-a849-ff11bc2fc804@v67g2000hse.google groups.com...
>
>
>
> > Hi.
>
> > I have an application which is copying files from one location to
> > another using UNC paths. =A0This is working fine right now using a local=

> > machine but it will soon be moved to a WAN and I am wondering what
> > type, if any, problems I may have in doing this.
>
> > Does anyone have any experience with this and what can I expect or do
> > to eliminate any potential problems.
>
> > Thanks in advance
>
> > Steve- Hide quoted text -
>
> - Show quoted text -

Thanks George. I will keep this code for when we do the move. I
really appreciate the fast response I recieved to this request!!

Steve