我正在使用以下代碼。我傳遞一個字符串f到startinfo.Arguments屬性。我送一個JSON字符串,並得到(字符串太長除外)字符串太長異常C#
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "WINWORD.EXE";
startInfo.Arguments = f;
我正在使用以下代碼。我傳遞一個字符串f到startinfo.Arguments屬性。我送一個JSON字符串,並得到(字符串太長除外)字符串太長異常C#
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "WINWORD.EXE";
startInfo.Arguments = f;
這是當你將鼠標懸停在Arguments
或按F12
打開幫助部分明確提到,
文件系統可以與 System.Diagnostics.ProcessStartInfo.FileName屬性中指定的 應用程序相關聯的特定於類型的參數。缺省是 一個空字符串(「」)。添加的完整路徑的長度 到工藝參數的長度必須小於2080
微軟目前並不提倡,不支持, 自動化從任何Microsoft Office應用程序無人值守, 非交互式客戶端應用程序或組件(包括ASP, ASP.NET,DCOM和NT服務),因爲Office在此環境中運行Office時可能會出現不穩定的 行爲和/或死鎖。
見Microsoft KB Article。如果你想從ASP.NET應用程序中使用winword exe,你就會「做錯了」。我建議你找一個用於Word文檔服務器端的庫,因爲如果你繼續沿着這條路走下去,你會遇到很多麻煩。
爲什麼要傳遞一個JSON字符串作爲WinWord.exe的命令行參數?你期望完成什麼?從根本上說,如果你發現有太多的信息不能通過命令行,你應該以另一種方式提供數據 - 例如,把它放在一個文件中。 –
準確地說'f'有多長?另外:爲什麼你從asp.net調用'winword.exe':明確不支持。 –
對你有好處!但是你想知道什麼? – WoIIe