小编Kev*_*ski的帖子

非通用TaskCompletionSource或替代

我正在使用通常以异步方式显示的警报窗口(Telerik WPF)(代码在打开时继续运行),我想通过使用async/await使其同步.

我有这个工作,TaskCompletionSource但该类是通用的,并返回一个对象,就像Task<bool>我想要的只是一个Task没有返回值的普通.

public Task<bool> ShowAlert(object message, string windowTitle)
{
    var dialogParameters = new DialogParameters { Content = message };

    var tcs = new TaskCompletionSource<bool>();
    dialogParameters.Closed += (s, e) => tcs.TrySetResult(true);

    RadWindow.Alert(dialogParameters);

    return tcs.Task;
}
Run Code Online (Sandbox Code Playgroud)

调用该方法的代码是

await MessageBoxService.ShowAlert("The alert text.")
Run Code Online (Sandbox Code Playgroud)

如何返回一个非常规的Task,其功能类似于我可以等到dialogParameters.Closed事件触发之前?我知道我可以忽略bool在此代码中返回的内容.我正在寻找一种不同的解决方案.

.net c# async-await

62
推荐指数
3
解决办法
2万
查看次数

在相同的两个对象类型之间创建两个Automapper映射

我在WCF服务中使用AutoMapper来返回User对象. User具有诸如AccountTeams本身具有子对象的属性.所有类都有AutoMapper贴图.

根据OperationContract所调用的WCF ,我想返回不同数量的数据.我希望一个OperationContract人返回该User对象而不AccountTeams填充其属性(及其子代),另一个OperationContract返回User整个属性链填充的对象.

有没有办法在同一个两个对象之间有两个不同的映射,或者我是否需要执行完整的映射以及null我不想从服务返回的属性?

.net c# wcf automapper

33
推荐指数
2
解决办法
3万
查看次数

Log4Net:以UTC时间记录

使用log4net 1.2.11.0 w/.NET,如何让RollingFileAppender输出UTC日期?

根据Apache的说法,它应该像以下一样简单:

<dateTimeStrategy type="log4net.Appender.RollingFileAppender+UniversalDateTime" />
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用.

我的整个log4net配置是:

  <log4net>
    <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
      <file value="Log-.txt" />
      <rollingStyle value="Date" />
      <datePattern value="yyyyMMdd"/>
      <PreserveLogFileNameExtension value="true" />
      <staticLogFileName value="false"/>
      <appendToFile value="true" />
      <maxSizeRollBackups value="10" />
      <dateTimeStrategy type="log4net.Appender.RollingFileAppender+UniversalDateTime" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date %-5level %logger - %message%newline" />
      </layout>
    </appender>
    <root>
      <!-- Options are "ALL", "DEBUG", "INFO", "WARN", "ERROR", "FATAL" and "OFF". -->
      <level value="DEBUG" />
      <appender-ref ref="RollingFile" />
    </root>
  </log4net>
Run Code Online (Sandbox Code Playgroud)

使用反编译器,我可以看到log4net dll的类型为'UniversalDateTime',作为RollingFileAppender中的私有类.

.net log4net

31
推荐指数
2
解决办法
1万
查看次数

接收到"正在分配的表达式"必须是"常量"

有没有办法使用这样的东西:

private const int MaxTextLength = "Text i want to use".Length;
Run Code Online (Sandbox Code Playgroud)

我认为它比使用类似的东西更具可读性且更不容易出错:

private const int MaxTextLength = 18;
Run Code Online (Sandbox Code Playgroud)

有没有办法让文本的长度成为常量变量的来源?

.net c# const

25
推荐指数
3
解决办法
2万
查看次数

根据多个属性设置可见性

我有一个Canvas,我想隐藏或显示基于2依赖属性:

IsPropA
IsPropB
Run Code Online (Sandbox Code Playgroud)

如果其中任何一个都为真,我希望Canvas显示.如果两者都是假的,我希望隐藏Canvas.

我知道如何用一个属性来做到这一点.但我不确定如何使用多个属性.

<Canvas Grid.Row="2" x:Name="sesimicTeam" Visibility="{Binding IsPropA}">
Run Code Online (Sandbox Code Playgroud)

wpf mvvm

18
推荐指数
3
解决办法
2万
查看次数

访问被拒绝TFS - PendChange权限

当我尝试从TFS签出文件时,我收到错误TF14098:访问被拒绝用户[用户名]需要[路径]的PendChange权限.

我已将用户添加到贡献者组,但仍然不允许他们签出文件.

tfs

15
推荐指数
3
解决办法
5万
查看次数

创建NuGet包,其中将Copy Local设置为false来安装引用

有没有办法创建一个NuGet包,当包安装到项目中时,它会添加对"复制本地"设置为false的dll的引用?

我假设它将是'install.ps1'文件中的某种脚本.

nuget

14
推荐指数
2
解决办法
4886
查看次数

SignalR给出'ConnectionId的格式不正确'

我有一个SignalR项目在我的开发环境中没有问题但是一旦它被转移到生产中,几乎每个调用都会因错误而失败

ConnectionId的格式不正确.

我在StackOverflow上看到了一些关于相同错误消息的其他项目,但没有一个项目有一个有帮助的解决方案.

我使用SignalR 2.0.2和SignalR Scaleout与SQL Server,实际上是SignalR的负载均衡器,使用SQL Server进行协调.

事件代码:3005事件消息:发生了未处理的异常.活动时间:2/11/2014 9:11:27 PM活动时间(UTC):2014年2月2日上午3:11:27活动编号:cff1fd93fa6d4b83b1848078a905371c活动顺序:73活动现场:10活动详情代码:0申请信息:

Application domain: /LM/W3SVC/2/ROOT-3-130366479327251392 
Trust level: Full 
Application Virtual Path: / 
Application Path: C:\inetpub\wwwroot\<remvoved>
Machine name: BSDUSHC1WW09    Process information: 
Process ID: 7088 
Process name: w3wp.exe 
Account name: <remvoved>    Exception information: 
Exception type: InvalidOperationException 
Exception message: The ConnectionId is in the incorrect format.    at
Run Code Online (Sandbox Code Playgroud)

Microsoft.AspNet上的Microsoft.AspNet.SignalR.PersistentConnection.ProcessRequest(HostContext context)中的Microsoft.AspNet.SignalR.PersistentConnection.GetConnectionId(HostContext context,String connectionToken)位于Microsoft.AspNet的Microsoft.AspNet.SignalR.Hubs.HubDispatcher.ProcessRequest(HostContext context) Microsoft.Owin.Mapping.MapMiddleware.d__0.MoveNext()中的.SignalR.PersistentConnection.ProcessRequest(IDictionary`2环境)---在抛出异常的前一个位置的堆栈跟踪结束---在System.Runtime.ExceptionServices上. System.Web.HttpApplication上的System.Web.HttpApplication.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()中的Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContext.EndFinalWork(IAsyncResult ar)中的ExceptionDispatchInfo.Throw(). ExecuteStep(IExecutionStep step,Boolean&completedSynchronously)

请求的信息:请求URL:http:/// signalr /连接运输= serverSentEvents&connectionToken = GZlhDBCjkD1/bL1rc4Rlq2PVKYRs0B9nN7b71cU/E6x7sCsFvR1DqM/rBnDhg + URwkYyBlGmrczV59XIn/goyt9x0xXOd8Gs3Qswo1oXqSttH2QPO548C0fbdBvvlUupzS4S0Rl + aShoQwnj + qFDpA ==&connectionData =?[{ "名称": …

signalr

13
推荐指数
2
解决办法
4100
查看次数

RxJs 6:从Observable获取ConnectableObservable

Angular 6需要更新RxJs 6并且随着RxJs更新,该Observable.publish()功能消失了.我找到了一个publish操作员,RxJs/operators但我无法弄清楚如何使用它.

如何重写这个RxJs 5代码以使用RxJs 6?

const myConnectableObservable = this.getObservable().publish()

rxjs angular rxjs6

7
推荐指数
1
解决办法
1776
查看次数

如何在HTTP响应头中发送Cache-Control:no-cache?

净4和C#.

我需要Cache-Control: no-cache在Web Response页面的HTTP Response标头中设置发送到Browser Cache-Control().

知道怎么做吗?

谢谢你的时间.

c# asp.net http-headers

6
推荐指数
1
解决办法
3万
查看次数

标签 统计

.net ×4

c# ×4

angular ×1

asp.net ×1

async-await ×1

automapper ×1

const ×1

http-headers ×1

log4net ×1

mvvm ×1

nuget ×1

rxjs ×1

rxjs6 ×1

signalr ×1

tfs ×1

wcf ×1

wpf ×1