【asp.net(c#)网页跳转七种方法小结】教程文章相关的互联网学习教程文章

首页> C#> NetworkStream的ReadAsync和读在同一方法【代码】

我正在尝试构建具有持久TCP连接的可伸缩服务器应用程序.我使用的序列化库是同步的,将其转换为APM会导致很大的开销(我已经对其进行了测试). 数据包的格式始终是数据包ID的一个字节,其后是更多的标头字段和有效负载.我想知道是否创建了一个异步方法,例如:public async Task<Packet> Deserialize(NetworkStream stream) {//Omitting parameters for the methods below for simplicity.var id = await stream.ReadAsync();var size = ...

c#-什么是在Servicestack JsonServiceClient Get方法上实现重试的最佳解决方案?【代码】

在我的项目中,我使用Servicestack从特定的URL提取数据,此过程是可配置的,我在单独的线程中调用提取数据,如果发生超时错误,我想实现重试.我在JsonServiceClient上创建了包装器类,并在此实现重试,但是我想知道什么是此方法的最佳解决方案.var _client = new JsonServiceClient { Timeout = timeout }; var counter = 0; do {try{result = _client.Get<TResponse>(url);break;}catch (Exception exp){//Logging exception} } while (+...

哪种方法最好? AutoMapper反对隐式(C#参考)【代码】

自动映射器是一种匹配类型的方法,理想情况下,当您要映射模型及其视图模型时.但这不是我们可以在C#中使用隐式方法实现的方法吗? (假设两个模型具有相同的属性,但名称不同,在这种情况下,您需要在AutoMapper中指定在模型之间链接的属性) 有了autommaper,我们有了public class Employee {public string Name { get; set; }public string Email { get; set; } }public class EmployeeViewItem {public string Name { get; set; }public...

c#-记忆表达式的最快方法【代码】

我有一个函数,将输入Expression转换为Output BlockExpression.所以我写这段代码:private static readonly Dictionary<Expression, BlockExpression> MemberMemoizeDictionary = new Dictionary<Expression, BlockExpression>(); private static BlockExpression CreateBody<TProperty>(CustomComparer<T> comparer, Expression<Func<T, TProperty>> member, bool createLabel)where TProperty : IComparable<TProperty>, ICompara...

c#-动态方法如何使用Get方法?【代码】

我正在尝试运行测试以查看是否正确加载了DynamicParameters对象.但是,我无法弄清楚应该使用什么类型.当我尝试使用C#/.NET类型(int,字符串等)时,出现异常.我尝试使用SqlDbType,但是没有用.我查看了source,发现该值存储为IDbDataParameter,然后转换为该类型.显然,我尝试的类型无法转换.我正在测试的数据是int.如何获得这些值?var dbParams = new DynamicParameters(); dbParams.Add( "Field1", 1 ); var value = dbParams.Get<int>(...

c#-用MOQ模拟异步获取方法【代码】

我如何摆脱此错误消息:Error 5 Cannot implicitly convert type 'System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<TGB.Business.DTO.SchoolyearDTO>>' to 'System.Collections.Generic.IEnumerable<TGB.Business.DTO.SchoolyearDTO>'. An explicit conversion exists (are you missing a cast?) 我以为我的Task.FromResult可以解决这个问题,但是没有…mockService.Setup<IEnumerable<SchoolyearDTO>>(...

C#异步方法在Activity暂停期间继续,导致IllegalStateException:onSaveInstanceState之后无法执行此操作【代码】

在Xamarin Android应用程序中,我有一个Activity,它在RetainInstance片段中调用异步方法(网络操作),以便该操作不会在配置更改时停止.操作完成后,将更改UI,关闭进度对话框,将新片段插入布局等. 即使活动被销毁并在配置更改时重新创建,它也可以正常工作.但是,如果异步方法完成时活动被暂停,则UI操作将引发IllegalStateException:在onSaveInstanceState异常之后无法执行此操作.如果在运行网络操作时用户关闭屏幕或切换到另一个应用程序...

c#-用Moq测试接受委托的方法【代码】

我的代码正在使用实现这样的接口的组件public interface IFoo { void DoSomething(string p1);void DoSomething(string p1, Action<string> p2); }到目前为止,我正在使用第一种方法,但是我计划移至第二种方法,并且我希望保持尽可能高的覆盖率. 只是我真的不知道如何检查委托,甚至不设置Moq来模拟接口. 我尝试过mock.Setup(p => p.DoSomething(It.IsAny<string>(), It.IsAny<Delegate>())); mock.Setup(p => p.DoSomething(It.IsAn...

c#-在WPF中使用ReactiveUI从长时间运行的命令中提供反馈的正确方法

我有一个C#/ WPF / .NET 4.5应用程序,用户将使用它来打开某些文件.然后,该应用程序将经历很多动作-读取文件,并通过许多插件和解析器将其传递.这些文件可能相当大(> 100MB),因此可能需要一段时间.我想让用户了解UI中正在发生的事情,因此在我的视图模型中,我有一些东西可以显示当前状态和进度条. 现在,我想变得酷酷和现代,并使用ReactiveUIs Async命令支持来完成此任务,这对我来说是全新的. 对于来自加载/解析过程的反馈消息,最佳方法...

C#-从方法中添加到列表【代码】

我是Asp.net和C#的新手,我试图记录对目录所做的更改.我遇到的问题是,在我的方法中,它无法对目录进行更改,因此无法将信息(以字符串形式)添加到列表,列表框或方法之外的任何内容. 这是拾取目录更改的方法:protected void OnChanged(object sender, FileSystemEventArgs e) {if (!m_bDirty){m_Sb.Clear();m_Sb.Append(e.FullPath);m_Sb.Append(" ");m_Sb.Append(e.ChangeType.ToString());m_Sb.Append(" ");m_Sb.Append(DateTime....

c# 反射调用方法、获取设置值、好处和局限性【代码】【图】

/// 1 反射调用实例方法、静态方法、重载方法 选修:调用私有方法 调用泛型方法/// 2 反射字段和属性,分别获取值和设置值/// 3 反射的好处和局限class Program{/// /// 反射的优点: 动态 /// 反射的缺点:/// 1 使用麻烦/// 2 避开编译器检查/// 3 性能问题!!!/// 100w次循环----- 普通方法 24ms/// 反射 9206ms/// 缓存优化,把dll加载和类型获取 只执行一次///...

c#-获取媒体文件持续时间的最快方法是什么?【代码】

我正在开发一个程序,该程序扫描放置文件夹中的文件,并将其注册到需要该文件持续时间的另一个系统中.到目前为止,我能找到的最好的解决方案是使用MediaInfo从标头中获取持续时间,但是由于某种原因,返回结果往往要花几秒钟. 假设我有一个1,000个文件路径的列表,我想获取每个路径的持续时间,但是获取持续时间需要15秒.列表上的线性迭代将花费4个多小时,甚至并行运行8个任务也将花费半小时.通过我的测试,这将是最好的情况. 我尝试使用Me...

首页> C#>在后台运行方法和UI线程WPF【代码】

我在以下示例中遇到了麻烦:public void Method() {LongRunningMethod(); }LongRunningMethod()大约需要5秒钟才能调用.我正在从UI线程调用Method(),因此它显然应该冻结UI.解决方案是在新Task中运行Method(),因此我将这样运行它:Task.Factory.StartNew(()=>{Method()})它仍然阻止UI,所以我认为LongRunningMethod()是否正在使用UI上下文.然后我尝试了另一种解决方案: 新的Thread(()=> Method()).Start() 它开始工作.那怎么可能?我...

JavaScript-在C#中反序列化Paypal响应的正确方法【代码】

介绍 我正在为我的演示项目使用Paypal付款实现.当用户确认请求时,响应和请求以json格式接收(你们大多数人都知道). 代码设置 行动“解析”数据的地方string str = JObject.Parse(executedPayment.ConvertToJson()).ToString(Newtonsoft.Json.Formatting.Indented); var payerInfo = new JavaScriptSerializer().Deserialize<ResponseMappingObject.Payer_Info>(str);foreach(var item in payerInfo) { string abc = payerInfo.first...

c#-使用通用方法返回列表,其中T可以是共享相同结构的三种类型之一【代码】

我有一些使用不同源表的sql视图,但是每个视图返回的结构完全相同. 因此非常简单:view1select tblA.Name as custName,tblA.DOB as DateOfBirth,tblA.accountBalance as AccountBalancefrom myFirstTable tblAview2select tblB.AccountName as custName,tblB.BirthDate as DateOfBirth,tblB.Balance as AccountBalancefrom mySecondTable tblBview3select tblC.CustomerName as custName,tblC.DateOfBirth as DateOfBirth,tblC.accB...