小编Jsi*_*inh的帖子

使用异步模式(queue.BeginReceive,queue.EndReceive)使用Reactive扩展(Rx)进行MSMQ消息接收

我一直在使用Rx一段时间用于我的项目上的事件,并专门用于Socket编程,其中很好的部分是它做得很好.管理我的代码,性能优势,更好地执行和解释.

最近我必须修改我的项目的流程,我需要将所有传入的数据(从套接字操作)转储到队列中(使用MSMQ实现作为排队决定).

由于MSMQ提供异步调用以从队列中取消消息(但是以一种奇怪的模式).我现在一直在努力将Rx用于此目的,但是能够这样做.

问题:有人可以给我一个干净的代码示例来实现Rx,以便使用异步模式从队列接收消息.

我需要MSMQ的异步运算符实现类似于这样的东西

var data = Observable.FromAsyncPattern<byte[]>(
                        this.receiverSocket.BeginReceive,
                        this.receiverSocket.EndReceive(some parameters);
Run Code Online (Sandbox Code Playgroud)

提前致谢.*欢呼*到Rx和.NET

reactive-programming system.reactive

10
推荐指数
1
解决办法
2243
查看次数

如何使用linqtotwitter V3

好吧,我最近升级到V3,但它打破了很多东西

我该如何解决这些问题?

1号 :

这不再适用于Credentials和InMemoryCredentials这样的定义

var auth = new SingleUserAuthorizer
{
    Credentials = new InMemoryCredentials
    {
        ConsumerKey = srtwitterConsumerKey,
        ConsumerSecret = srtwitterConsumerSecret,
        OAuthToken = srtwitterOAuthToken,
        AccessToken = srtwitterAccessToken
        }
};
Run Code Online (Sandbox Code Playgroud)

2号:没有GetFileBytes的定义了

var mediaItems =
new List<Media>
{
    new Media
    {                 
        Data = Utilities.GetFileBytes(srImageUrl),
        FileName = srTweet.Split(' ')[0]+".jpg",
        ContentType = MediaContentType.Jpeg
    }
};
Run Code Online (Sandbox Code Playgroud)

3号:没有TweetWithMedia的定义

var tweet = twitterContext.TweetWithMedia(srTweet, false, mediaItems);
Run Code Online (Sandbox Code Playgroud)

4号:没有UpdateStatus的定义

var tweet = twitterContext.UpdateStatus(srTweet);
Run Code Online (Sandbox Code Playgroud)

5号:没有CreateFavorite的定义

var vrResult = twitterContext.CreateFavorite(srRetweetId);
Run Code Online (Sandbox Code Playgroud)

我找不到V3的任何例子

它总是说,twitterCtx但你怎么twitterCtx在第一位?

c# linq-to-twitter

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

在遍历表达式时提取实例变量的当前值

我目前正在尝试编写一些代码,将C#表达式转换为文本。

为此,我不仅需要遍历“表达式”树,还需要对其进行一小部分评估-以获得局部变量的当前值。

我发现很难用文字表达,因此这里是伪代码。缺少的部分在第一种方法中:

public class Program
{
    private static void DumpExpression(Expression expression)
    {
        // how do I dump out here some text like:
        //      set T2 = Perform "ExternalCalc" on input.T1
        // I can easily get to:
        //      set T2 = Perform "Invoke" on input.T1
        // but how can I substitute Invoke with the runtime value "ExternalCalc"?
    }

    static void Main(string[] args)
    {
        var myEvaluator = new Evaluator() {Name = "ExternalCalc"};
        Expression<Func<Input, Output>> myExpression = (input) => new Output() {T2 …
Run Code Online (Sandbox Code Playgroud)

c# reflection expression

5
推荐指数
1
解决办法
983
查看次数

使用Swashbuckle Aspnetcore向swagger.json添加`host`,`basePath`和`schemes`

我正在使用官方doc逐步方法来配置Swagger UI并在ASP.NET核心API应用程序中生成Swagger JSON文件。

开始使用Swashbuckle和ASP.NET Core

如果我查看生成的swagger.json文件-它缺少三个重要属性hostbasePath并且schemes

请帮助我理解我可以添加什么代码,以便生成的swagger.json将具有以下提到的属性/值。

这里是一个理想的swagger.json -给予重视的hostbasePath并且schemes这些缺失值,如果我按照文档代码在我的应用

{
  "swagger": "2.0",
  "info": {
    "version": "v1",
    "title": "Demo API Title"
  },
  "host": "some-url-that-is-hosted-on-azure.azurewebsites.net",
  "basePath": "/api",
  "schemes": ["https"],
  "paths": {
    "/Account/Test": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Account test method - POST",
        "operationId": "AccountTest",
        "consumes": [],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "type": "boolean"
            }
          }
        }
      } …
Run Code Online (Sandbox Code Playgroud)

c# json swagger swashbuckle asp.net-core

5
推荐指数
4
解决办法
1939
查看次数

包含实体框架的通用Find()

我现在有一个完整的通用仓库,但我缺少一个特点,那就是使用 包括()Find()在一起.

所以现在我有:

public E FindById<E>(int id) where E : class
{
    return DataContext.Set<E>().Find(id);
}
Run Code Online (Sandbox Code Playgroud)

叫做使用

var person = PersonRepo.FindById<Person>(personId);
Run Code Online (Sandbox Code Playgroud)

我想有类似的东西:

var person = PersonRepo.FindByIdWithIncludes<Person>(personId,new[]{"State.Address"});
Run Code Online (Sandbox Code Playgroud)

所以,沿着这条线(这只是一个测试):

public E FindByIdWithIncludes<E>(int id, string[] includes) where E : class
{
    var entitySet = DataContext.Set<E>();
    DbQuery<E> entityQuery;

    foreach (var include in includes)
    {
        entityQuery = entitySet.Include(include);
    }

    return entityQuery.Find(id); //this is were it breaks
}
Run Code Online (Sandbox Code Playgroud)

可能吗?

c# generics entity-framework

4
推荐指数
1
解决办法
7525
查看次数

MVVM Light Toolkit - Messenger使用Event Aggregator或Mediator Pattern?

如果来自MVVM light toolkit的I/Messenger类(和实现)演示了Event Aggregator PatternMediator Pattern的使用,有人可以帮我解决吗?

如果有人建议它部分地遵循这两种模式,那么我要求详细说明哪个部分的实现类似于保持答案有效的模式.

参考:一个比较两个模式,这是绝对有趣之间.

c# design-patterns mediator eventaggregator mvvm-light

4
推荐指数
1
解决办法
3257
查看次数

如何将日期转换为印地语日期,例如2011年3月7日至2011年7月

我正在使用C#开发Win Form应用程序.该应用程序以英语和印地语显示一些信息.

如何将日期转换为印地语?

例如2011年3月7日至2011年7月,以便它可以显示在标签上.

belateText = System.DateTime.Now.ToString("dd-MMM-yyyy");
Run Code Online (Sandbox Code Playgroud)

c# datetime hindi

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

使用{...}和new来实例化C#中的匿名类型

我最近在Smarterer尝试了C#的技能测试.

我遇到一个问题,说明以下哪一项可用于在C#中创建一个匿名类型(类似的东西).

我选择了"没有这些"(我不记得其他选项,因为基于时间的测试只有10秒).

一旦我给出答案,它说这{...}是正确的答案.

所以我想这样的事情:

var someVariableName = new {...}; 创建匿名类型.

我很惊讶地看到这一点并且有点笨拙,但却找不到类似的东西.

问题:在使用{...}关键字或运算符实例化时,是否有任何方法可以创建匿名类型而不声明其类型?或问题的正确答案是不是"正确"?

dynamic如果我没有错,可以使用关键字来完成.

c# variables using anonymous-types

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