2013-12-20 6 views
-1

Я использую следующий код. Я передаю строку f для startinfo.Arguments. Я посылаю строку JSON и получить (СТРОКА СЛИШКОМ ДОЛГО ИСКЛЮЧЕНИЕ)Строка слишком длинная Исключение C#

ProcessStartInfo startInfo = new ProcessStartInfo(); 
startInfo.FileName = "WINWORD.EXE"; 
startInfo.Arguments = f; 
+1

Почему вы хотите передать строку JSON в качестве аргументов командной строки для WinWord.exe? Что вы ожидаете от этого? В принципе, если вы обнаружите, что у вас слишком много информации для передачи в командной строке, вы должны предоставить данные другим способом - например. поместите его в файл. –

+0

и как долго 'f' точно? Также: почему вы вызываете 'winword.exe' из asp.net: это явно не поддерживается. –

+0

Хорошо для вас! Но что вы хотите знать? – WoIIe

ответ

3

Это ясно сказано в разделе помощи, который открывается при наведении на Arguments или нажмите F12 что

файла специфичные для типа аргументы, которые система может связывать с приложением , указанным в свойстве System.Diagnostics.ProcessStartInfo.FileName свойства . По умолчанию пустая строка (""). Длина аргументов добавленных к длине полного пути к процессу должна быть меньше, чем 2080.

1

Microsoft в настоящее время не рекомендуется, и не поддерживает, автоматизации приложений Microsoft Office из любых unattended, неинтерактивное клиентское приложение или компонент (включая ASP, службы ASP.NET, DCOM и NT), потому что Office может проявлять нестабильное поведение и/или тупик при работе Office в этой среде.

См. Microsoft KB Article. Вы «делаете это неправильно», если пытаетесь использовать winword exe из приложения ASP.NET. Я предлагаю вам найти библиотеку, предназначенную для работы с сервером документов Word, так как вы просто столкнетесь с множеством головных болей, если продолжаете путь, по которому вы находитесь.

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