草庐IT

process_response

全部标签

c# - 读取二进制文件并使用 Response.BinaryWrite()

我有一个应用程序需要从文件系统读取PDF文件,然后将其写出给用户。PDF为183KB,似乎可以完美运行。当我使用底部的代码时,浏览器得到一个224KB的文件,我从AcrobatReader收到一条消息,说该文件已损坏且无法修复。这是我的代码(我也试过使用File.ReadAllBytes(),但我得到了同样的结果):using(FileStreamfs=File.OpenRead(path)){intlength=(int)fs.Length;byte[]buffer;using(BinaryReaderbr=newBinaryReader(fs)){buffer=br.ReadByt

c# - Response.OutputStream.Write 中的 "The remote host closed the connection"

此代码将大文件流式传输给我们的用户://Openthefile.iStream=newSystem.IO.FileStream(filepath,System.IO.FileMode.Open,System.IO.FileAccess.Read,System.IO.FileShare.Read);//Totalbytestoread:dataToRead=iStream.Length;//Readthebytes.while(dataToRead>0){//Verifythattheclientisconnected.if(Response.IsClientConnected){//R

C# Windows 窗体 : On Close Do [Process]

如何让我的窗体在关闭时执行某些操作。 最佳答案 处理FormClosed事件。为此,转到“属性”窗口中的“事件”选项卡并双击FormClosed事件为其添加处理程序。然后您可以将代码放入生成的MyForm_FormClosed处理程序中。您也可以通过覆盖OnFormClosed方法来做到这一点;为此,请在代码窗口中键入overrideonformcl并从IntelliSense中键入OnFormClosed。如果您希望能够阻止表单关闭,请改为处理FormClosing事件,并将e.Cancel设置为true.

C# process.start,如何知道进程是否结束?

在C#中,我可以用启动一个进程process.start(program.exe);如何判断程序是否仍在运行,或者是否已关闭? 最佳答案 MSDNSystem.Diagnostics.Process如果您想现在知道,您可以检查HasExited属性。varisRunning=!process.HasExited;如果这是一个快速的过程,请等待。process.WaitForExit();如果您在后台启动,请在将EnableRaisingEvents设置为true后订阅Exited事件。process.EnableRaisingEve

c# - 如何在 Mac 上使用 Process.Start() 或等效的 Mono 并传入参数

我正在尝试编写一些c#代码以使用Process.Start(app,args);启动浏览器,其中apps是浏览器的路径,例如/Applications/GoogleChrome.app/Contents/MacOS/GoogleChrome参数是--no-default-browser-check如果我这样做,它适用于Windows和LinuxProcess.Start("/Applications/GoogleChrome.app/Contents/MacOS/GoogleChrome","--no-first-run");我明白了open:unrecognizedoption`--

c# - 如何知道 Process.Start() 是否成功?

我尝试了两种不同的方法来启动进程。第一个定义被定义为Start方法的参数:System.Diagnostics.Process.Start("excel",string.Format("\"{0}\"",ExcelFileBox.Text.ToString()));我的想法:这个开始很好,但我不知道如何从中获得反馈。第二个我开始研究ProcessStartInfo因为我想知道Excel是否启动成功——例如,虽然它很可能存在于用户的机器上,但不能保证而且这很愚蠢让我向用户表明它已成功启动,但尚未启动。System.Diagnostics.ProcessStartInfostartinfo

c# - 从 Process.StandardOutput 捕获二进制输出

在C#中(.NET4.0在SuSE上的Mono2.8下运行)我想运行一个外部批处理命令并以二进制形式捕获它的输出。我使用的外部工具称为“samtools”(samtools.sourceforge.net),除其他外,它可以从称为BAM的索引二进制文件格式返回记录。我使用Process.Start来运行外部命令,并且我知道我可以通过重定向Process.StandardOutput来捕获它的输出。问题是,这是一个带有编码的文本流,所以它不允许我访问输出的原始字节。我找到的几乎可行的解决方案是访问底层流。这是我的代码:ProcesscmdProcess=newProcess();Proc

c# - System.Diagnostics.Process UseShellExecute 究竟做了什么?

我有一个MSBuild任务执行(除其他外)对xcopy的调用。我发现,当我从一个批处理文件运行我的MSBuild任务时,对xcopy的调用正确执行,并且无法执行或产生任何输出,这些输出让我知道当从另一个批处理文件调用同一个批处理文件时发生了什么带有System.Diagnostics.Process的C#应用程序。两个进程都以大致相同的结构启动:waitProc.StartInfo.Arguments="/C[executable]";waitProc.StartInfo.FileName="cmd.exe";waitProc.StartInfo.UseShellExecute=fal

c# - 如何解释错误 'Client found response content type of ' text/html'..

我正在使用C#并通过自动生成的C#代理对象连接到WebService。我调用的方法可能会长时间运行,有时会超时。我收到不同的错误,有时我收到System.Net.WebException或System.Web.Services.Protocols.SoapException。这些异常具有我可以查询的属性,以找到特定类型的错误,我可以从中向用户显示人性化版本。但有时我只是得到一个InvalidOperationException,它有以下消息。有什么方法可以解释这是什么,而无需深入了解我认识的字符串,这感觉很脏,而且与国际化无关,错误消息可能会以不同的语言返回。Clientfoundre

c# - Response.Redirect 使用 ~ Path

我有一个方法可以将用户重定向回位于我的Web应用程序根目录的登录页面。我正在使用以下代码:Response.Redirect("~/Login.aspx?ReturnPath="+Request.Url.ToString());虽然这不起作用。我的假设是ASP.NET会自动将URL解析为正确的路径。通常,我会使用Response.Redirect("../Login.aspx?ReturnPath="+Request.Url.ToString());但此代码位于母版页上,可以从任何文件夹级别执行。我该如何解决这个问题? 最佳答案 I