file.copy من UNC PATH إلى (نفس الخادم) استفسار مسار UNC
سؤال
هل ستذهب حركة بيانات البيانات عبر برنامج التطبيق المضيف أو سيتم التعامل معها عن بُعد في السيناريوهات حيث يتم استخدام ملف C#الخاص بـ C#:
File.Copy(@"\\SERVER13\LOL\ROFL.txt", @"\\SERVER13\ROFL.txt")
هتاف ن ثكس!
المحلول
بادئ ذي بدء ، لديك خطأ صغير في مسار ملف الوجهة.
ثانياً ، لا توجد عملية نسخ عن بُعد. توجد عملية تحرك عن بُعد (إعادة تسمية ، ولكن مع وجهة في دليل آخر) مثل MoveFile
(انظر API الأصلي http://msdn.microsoft.com/en-us/library/aa365239٪28vs.85٪29.aspx).
محدث: ربما أتيت من UNIX وتعرف شركة RCP ، ولكنها تعمل فيما يتعلق بخدمة Shell Remote (RSHD) وليس فيما يتعلق بميزات نظام الملفات المباشرة. يمكنك أيضًا استخدام فائدة Psexec من sysinternals (انظر http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx) لبدء بعض البرامج على الكمبيوتر البعيد ، ولكن كل هذا ليس موضوع البرمجة.
نصائح أخرى
سوف يمر عبر التطبيق المحلي. لا يعرف نظام الملفات ما الذي سيفعله التطبيق مع البايتات التي يقرأها من المشاركة ، أو أين تأتي البايتات المكتوبة إلى المشاركة.
بالإضافة إلى ذلك ، لا يعرف التطبيق (في حالة DFS) إذا كانت الأسهمان على نفس الجهاز.
إذا كنت ترغب في السماح للخادم بالتعامل معه ، فيجب عليك تشغيل برنامج نسخ عن بعد.