Tag: http

IFormFile没有被dropzone uploadMultiple请求填充

我遇到的问题是IFormFile列表没有填充给定的文件,但是当我调用HttpContext.Request.Form.Files时; 然后我可以访问这些文件。 我更喜欢使用IFormFile,因为它似乎是新的Dotnet核心2.0的做事方式。 我有以下请求有效负载: 使用以下请求标头: 和Razor页面处理程序: public async Task OnPostSend(ConditionResponse conditionResponse) { var files = HttpContext.Request.Form.Files; } 条件响应模型: public class ConditionResponse { public List Plots { get; set; } public string Comments { get; set; } public List Files { get; set; } }

通过Selenium WebDriver C#获取HTTP状态代码

我正在使用Selenium,C#,NUnit来编写自动化测试。 是否可以使用WebDriver获取HTTP状态代码,以便可以向用户发出因HTTP请求而失败的测试?

如何将POST请求内容保存为.NET中的文件

我有一个客户端应用程序向asp.net URL发出POST请求(它用于将文件上传到.NET )。 如何使asp.net页面收到此请求并将其保存为文件? @ Darin Dimitrov我已经尝试了你的代码,但是我得到了500 internal server error如何跟踪它?

RestSharp在上传时将整个文件加载到内存中。 怎么避免呢?

我在Mono项目中使用RestSharp来上传一些文件,我注意到当上传大文件时,内存会大大增加。 看看RestSharp源代码,我注意到FileParameter需要一个字节数组,这意味着它确实将文件加载到内存中。 难道我做错了什么? RestSharp有没有办法不这样做? 我可能正在上传非常大的文件,因此从内存中上传它们不是一种选择。 欢迎提供任何帮助(包括告诉我使用单声道提供的另一个HTTP库)。

Mjpeg VLC和HTTP Streaming

我正在生成一个MJpeg Stream并尝试将其流式传输到VLC并在那里播放。 代码: public void SendMultiPartData(String contentType, Func getData) { MemoryStream mem = null; response.StatusCode = 200; for ( byte[] buffer = getData(); buffer != null && buffer.Length > 0; buffer = getData()) { response.ContentType = “multipart/x-mixed-replace; boundary=–testboundary”; ASCIIEncoding ae = new ASCIIEncoding(); byte[] boundary = ae.GetBytes(“\r\n–testboundary\r\nContent-Type: ” + contentType + “\r\nContent-Length:” + buffer.Length + […]

AddressAccessDeniedException:在没有netsh的情况下解决它?

我遇到了exceptionAddressAccessDeniedException因为我的processus没有权限注册URL。 我首先以管理员身份运行我的程序:好吧,它有效。 但我现在想要分发我的应用程序,我希望每个用户都能够运行它而无需成为管理员。 有没有办法自动授予用户访问权限? 我看到了命令: netsh http add urlacl url=http://+:8000/ user=DOMAIN\UserName 我应该用吗? 如果有,怎么样? 我想做的就是在没有管理员的情况下授予访问权限…这样说,它似乎很愚蠢,但可能……

通过HTTP Post发送XML到IP:端口

好吧,首先,我没有使用任何类型的Web服务。 现在我不太了解接收XML的应用程序,除了收到它之外。 我知道那里有很大的帮助。 我没有编写接收应用程序,但我的公司没有任何有用的方法来测试XML传输阶段。 我基本上想要发送这样的XML文档…… 0 6208700003 …对于我真的不太了解的应用程序。 这没什么特别的,在适当的帮助下我可能会找到更多的信息。 但我想要做的是想出一些可以接受上述请求的C#Forms应用程序,使用IP和端口发送它,并希望看到发生的事情。

具有无限超时的HttpClient会抛出超时exception

我的HttpClient使用摘要式身份validation连接到服务器,并期望响应搜索查询。 这些搜索查询可以随时进入,因此客户端应始终保持连接处于打开状态。 使用以下代码建立连接: public static async void ListenForSearchQueries(int resourceId) { var url = $”xxx/yyy/{resourceId}/waitForSearchRequest?token=abc”; var httpHandler = new HttpClientHandler { PreAuthenticate = true }; using (var digestAuthMessageHandler = new DigestAuthMessageHandler(httpHandler, “user”, “password”)) using (var client = new HttpClient(digestAuthMessageHandler)) { client.Timeout = TimeSpan.FromMilliseconds(Timeout.Infinite); var request = new HttpRequestMessage(HttpMethod.Get, url); var tokenSource = new CancellationTokenSource(); tokenSource.CancelAfter(TimeSpan.FromMilliseconds(Timeout.Infinite)); using […]

异步HttpListener每次接收两次请求

我在c#中实现了一个异步http监听器。 我按照微软提供的教程进行了操作 并发现另一个教程,我愚蠢地没有书签,现在再也找不到了。 这意味着我有一些我不会自己编写的代码,但提供的解释是有道理的,所以我遵循了这一点。 现在我面临两个问题: 首先,我必须在使用Listener.Stop()的每个请求之后重新启动侦听器,然后再次调用StartListening方法,其次,当我这样做时,我会收到两次请求。 请求发送net get两次,但我收到两次。 然而,当我暂停我正在收听的线程大约2秒时,它不会被接收两次。 我很抱歉,如果我的解释很模糊,但我对我的问题的理解也是如此,我不知道是什么导致了它。 由于回调方法是大多数事情发生的地方,我将发布它,请告诉我你是否需要更多的代码。 任何帮助都将很高兴,因为我真的被困在这一个。 public void ListenAsynchronously() { if (listener.Prefixes.Count == 0) foreach (string s in prefixes) listener.Prefixes.Add(s); try { listener.Start(); } catch (Exception e) { Logging.logException(e); } System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(Listen)); } private void Listen(object state) { while (listener.IsListening) { listener.BeginGetContext(new AsyncCallback(ListenerCallback), listener); listenForNextRequest.WaitOne(); } } private void […]

C#AsyncCallback是否创建了一个新线程?

我编写了一个侦听其中一个端口的HttpListener : httpListener.BeginGetContext(new AsyncCallback(ListenerCallback), httpListener); ListenerCallback处理在侦听器uri上接收的任何请求。 如果在处理请求期间发生exception,它将运行一个诊断例程,该例程尝试命中侦听器uri以检查侦听器是否实际处于活动状态并侦听uri并写入侦听器返回的响应日志。 Listener只是将字符串Listening…返回给这样的虚拟请求。 现在在测试期间,当导致执行诊断模块的其他模块发生exception时,我可以看到监听器在检查日志时正确地返回了Listening… 但是,当ListenerCallback发生exception时,尝试命中诊断内的侦听器URI会引发以下exception: System.Net.WebException : The operation has timed out at System.Net.HttpWebRequest.GetResponse() at MyPackage.Diagnostics.hitListenerUrl(String url) in c:\SW\MyApp\MyProj\Diagnostics.cs:line 190 诊断模块中的第190行如下: 189 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 190 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 现在,如果AsyncCallback调度新线程并在该新线程中运行ListenerCallback ,则在通过诊断发送虚拟请求时,它不得导致Operation Timeout 。 这就是我认为理想的行为,因为它是*Async*Callback 。 事实上MSDN也说同样的话 : 使用AsyncCallback委托在单独的线程中处理异步操作的结果。 但似乎并非如此。 我在这里错过了什么吗? 视觉解读: