2016-03-11 3 views
-2

Я делаю простое приложение C#, которое считывает данные из многих файлов excel, обрабатывает их и записывает в другой файл excel. Проблема в том, что когда я запускаю ее, программа пытается сделать исходящее соединение с каким-то IP-адресом. После небольшого исследования я обнаружил, что он пытается это сделать, когда объявляю объект Excel.Application. Мой код выглядит следующим образом:Interop.Excel хочет подключиться к Интернету

using Excel = Microsoft.Office.Interop.Excel; 
namespace MyProg 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Excel.Application xlApp = null; 
     } 
    } 
} 

Когда я запустить его, если я включена сеть, программа пытается подключиться к внешнему IP в течение примерно 5 секунд, а затем завершает свою работу. Если сеть отключена, она немедленно завершается. Кто-нибудь может это объяснить? IP не принадлежит к некоторому серверу Microsoft, и присутствие вируса исключено ... Также такая же ситуация и с объектом Word.Application.

ответ

1

Я запустил Fiddler, а затем запустил Excel, чтобы увидеть, как он называется. Он сделал звонки

  • roaming.officeapps.live.com
  • docs.live.net
  • store.office.com

Если вы не очень параноик, я бы не беспокоиться , Он проверяет наличие обновлений или, возможно, видит, что вы вошли в какой-либо облачный сервис. (Когда вы автоматизируете Excel или Word с Interop, вы запускаете экземпляр приложения.)

+0

Ну, мой Excel не сделал ни одного из этих вызовов. Я попытался разрешить IP - он принадлежит некоторому домашнему интернет-провайдеру, а не Microsoft. Кроме того, он делает это, когда я объявляю xlApp, а не когда я запускаю Excel, написав xlApp = new Excel.Application(); Я не параноик - просто любопытно. Я не знал об этом призыве, пока мой босс не сказал мне об этом. – Hickname

Смежные вопросы