草庐IT

async_send

全部标签

c# - NetworkStream.Write 与 Socket.Send

我有一个使用自定义FTP库的C#应用程序。现在我正在使用Socket.Send发送数据,但我想知道用套接字启动NetworkStream并改为使用NetworkStream.Write是否会更好。使用一个比另一个有什么优势吗? 最佳答案 NetworkStream的优势主要是因为它是一个Stream.Socket的缺点是从抽象I/O源读取和写入的通用代码,如Stream无法处理Socket.NetworkStream的主要用例是您在其他地方有一些代码可以从Stream读取或写入,并且您希望可以将它与Socket一起使用.你会知道如果

c# - GMail + C# + Web.Config : Send Mail Works Programmatically, 使用 Web.Config 值引发异常

给定Web.Config中的以下部分:以及以下代码片段:smtp=newSmtpClient();smtp.Host="smtp.gmail.com";smtp.Port=587;smtp.EnableSsl=true;smtp.DeliveryMethod=SmtpDeliveryMethod.Network;smtp.UseDefaultCredentials=false;smtp.Credentials=newNetworkCredential("someuser@gmail.com","somepassword");smtp.Send(mailMessage);以上工作正常,但

c# - RestSharp ASYNC client.ExecuteAsync<T> () 工作示例

谁能帮我修改下面的代码:client.ExecuteAsync(request,response=>{Console.WriteLine(response.Content);});基本上我想使用上面的ExecuteAsync方法但不想打印而是返回response.Content给调用者。有什么简单的方法可以做到这一点吗?我试过了,但没用:publicTExecute(RestRequestrequest)whereT:new(){varclient=newRestClient();client.BaseUrl=BaseUrl;client.Authenticator=newHttpBa

c# - 为什么不使用 async/await 关键字时异步单元测试会失败?

根据thisdiscussion,下面两种方法应该没有区别:publicasyncTaskFoo(){awaitDoSomethingAsync();}publicTaskFoo(){returnDoSomethingAsync();}实际上,对于非常简单的方法来说,不async/await关键字的调用似乎是首选,因为它们可以消除一些开销。然而,这显然并不总是适用于单元测试。MSTest[TestClass]publicclassAsyncTest{[TestMethod]publicasyncTaskTest1(){awaitTask.Delay(0);}[TestMethod]pu

c# - xUnit 和 Moq 不支持 async - await 关键字

我正在尝试探索如何将async和await关键字应用于我的xUnit测试。我正在使用xUnit1.9和AsyncCTP1.3。这是我的测试用例我有一个指定一个异步方法调用的接口(interface)publicinterfaceIDoStuffAsync{TaskAnAsyncMethod(stringvalue);}我有一个使用接口(interface)并调用异步方法的类publicclassUseAnAsyncThing{privatereadonlyIDoStuffAsync_doStuffAsync;publicUseAnAsyncThing(IDoStuffAsyncdoSt

c# - 使用 async/await 的异步 TcpListener 的正确方法

我一直在思考使用异步编程搭建TCP服务器的正确方式是什么。通常我会为每个传入请求生成一个线程,但我想使用ThreadPool的大部分内容,因此当连接空闲时,不会有阻塞的线程。首先,我会创建监听器并开始接受客户端,在本例中,是在控制台应用程序中:staticvoidMain(string[]args){CancellationTokenSourcecancellation=newCancellationTokenSource();varendpoint=newIPEndPoint(IPAddress.Parse("127.0.0.1"),8001);TcpListenerserver=n

c# - SignalR .Net 客户端 : How do I send a message to a Group?

我正在使用SignalRWiki入门中心页面中的示例聊天应用程序。我已经扩展它以添加组支持并且它工作正常。但是,现在我想从外部控制台应用程序向群组发送消息。这是我的控制台应用程序代码,下面是我的群组代码。如何从代理向群组发送消息?可能吗?//ConsoleAppusingSystem;usingMicrosoft.AspNet.SignalR.Client.Hubs;namespaceSignalrNetClient{classProgram{staticvoidMain(string[]args){//Connecttotheservicevarconnection=newHubCo

c# - ThreadPool 服务器的 async/await 等价物是什么?

我正在使用同步api和线程池在看起来像这样的tcp服务器上工作:TcpListenerlistener;voidServe(){while(true){varclient=listener.AcceptTcpClient();ThreadPool.QueueUserWorkItem(this.HandleConnection,client);//OralternativelynewThread(HandleConnection).Start(client)}}假设我的目标是以最低的资源使用率处理尽可能多的并发连接,这似乎很快就会受到可用线程数的限制。我怀疑通过使用非阻塞任务api,我将

c# - 我可以在调用 client.Send() 之前测试 SmtpClient 吗?

这与我前几天在howtosendemail上提出的问题有关.我的新问题是这样的...如果我的应用程序的用户在防火墙后面或其他一些原因导致client.Send(mail)行不起作用...行后:SmtpClientclient=newSmtpClient("mysmtpserver.com",myportID);client.Credentials=newSystem.Net.NetworkCredential("myusername.com","mypassword");在尝试发送之前,我可以做些什么来测试客户端吗?我考虑过将它放在try/catch循环中,但我宁愿先做一个测试,然后弹

c# - 将 Microsoft.Bcl.Async 与代码分析一起使用会导致错误

我正在尝试使用Microsoft.Bcl.Async和代码分析,但是当我运行代码分析时,出现一个或多个错误。我正在使用带有更新2的VisualStudio2012。这对我来说很容易重现:创建一个针对.Net4的新默认控制台应用程序。右键单击References,然后选择ManageNuGetPackages...单击Online并在SearchOnline框中键入async。您应该看到Asyncfor.NetFramework4...。点击安装并接受所有问题。向Main()添加一行内容:TaskEx.Delay(1000);和usingSystem.Threading.Tasks;转到