小编inf*_*ity的帖子

Azure事件中心和多个使用者组

在以下方案中需要有关使用Azure事件中心的帮助.我认为消费者群体可能是这种情况的正确选择,但我无法在网上找到具体的例子.

以下是问题的粗略描述以及使用事件中心的建议解决方案(我不确定这是否是最佳解决方案.非常感谢您的反馈)

在此输入图像描述

我有多个事件源可以生成大量事件数据(来自传感器的遥测数据),需要保存到我们的数据库中,并且应该并行执行一些分析,如运行平均值,最小值 - 最大值.

发送方只能将数据发送到单个端点,但事件中心应该使这些数据可供两个数据处理程序使用.

我正在考虑使用两个使用者组,第一个是工作者角色实例的集群,负责将数据保存到我们的键值存储,第二个消费者组将是一个分析引擎(可能与Azure流分析一起使用) ).

首先,我如何设置消费者群体,在发送者/接收者方面是否需要做些事情,以便所有消费者群体都能看到事件副本?

我确实在线阅读了很多示例,但是他们使用client.GetDefaultConsumerGroup();和/或让所有分区都由同一个工作者角色的多个实例处理.

对于我的场景,当触发事件时,它需要由两个不同的工作者角色并行处理(一个保存数据,另一个执行某些分析)

谢谢!

azure publish-subscribe azure-eventhub

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

Powershell - 将System.Data.DataRow解析为String

我需要你的输入如何将SQL查询的输出转换为PowerShell中的字符串.我目前正在做以下事情

function ExecuteFromScriptRowset($connectionParams, $file)
{
     return (invoke-sqlcmd @connectionParams 
             -inputFile $file -MaxCharLength 8000000)
}
Run Code Online (Sandbox Code Playgroud)

我使用上面的函数来调用类似的.sql文件

SELECT Names FROM tblXXX
Run Code Online (Sandbox Code Playgroud)

这是我用来调用SQL存储过程的实际powershell代码

$output = ExecuteFromScriptRowset $someDB (Resolve-Path '.\selectXXX.sql')
Run Code Online (Sandbox Code Playgroud)

输出是System.Data.DataRow的数组,我需要将其转换为字符串数组.我目前正在尝试以下无法正常工作的内容

$formatOut = @()

for ($i=0; $i -le $output.Length; $i++)
{
    $formatOut = $formatOut + [string]$output[$i]
}
Run Code Online (Sandbox Code Playgroud)

这是$ formatOut的输出在for循环之后,这不是我想要的

$formatOut[0] = System.Data.DataRow
$formatOut[1] = System.Data.DataRow
$formatOut[2] = System.Data.DataRow
Run Code Online (Sandbox Code Playgroud)

你能告诉我我需要做什么,以便创建$ output对象内容的字符串数组

string powershell datarow

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

C#异步任务无限期等待

我正在尝试使用"async"和"await"提供的功能来异步下载网页内容,我遇到了任务等待永远完成的问题.你可以告诉我下面的代码片段有什么问题吗?

protected void Page_Load(object sender, EventArgs e)
{
    var websites = new string[] {"http://www.cnn.com","http://www.foxnews.com"};
    var tasks = websites.Select(GenerateSomeContent).ToList();

    //I don't want to use 'await Tasks.WhenAll(tasks)' as I need to block the
    //page load until the all the webpage contents are downloaded
    Task.WhenAll(tasks).Wait();

    //This line is never hit on debugging
    var somevalue = "Complete";
}

static async Task<Results> GenerateSomeContent(string url)
{
    var client = new HttpClient();
    var response = await client.GetAsync(url); //Await for response
    var content = await response.Content.ReadAsStringAsync();
    var output …
Run Code Online (Sandbox Code Playgroud)

c# asp.net async-await dotnet-httpclient

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

Facebook Android SDK和java.lang.NullPointerException

根据https://developers.facebook.com/docs/android/getting-started/facebook-sdk-for-android/上发布的教程,我无法在我的Android应用程序中打开活动的facebook会话

现在我已经挣扎了很长一段时间没有运气!如果你们中的一个人能指出我正确的方向,我将很高兴!(我打赌这个错误是我身边的一些设置,但我无法发现它)

这是我在调用Session.openActiveSession后看到的错误(在我的活动的onCreate中这是真的,新的Session.StatusCallback()(我几乎遵循facevook开发人员教程中给出的步骤)


编辑: 首先记录以下警告消息,然后在随后的屏幕截图中显示错误消息

09-03 19:26:22.726:W/Bundle(17458):键 com.facebook.platform.protocol.PROTOCOL_VERSION期望String但值是java.lang.Integer.返回了默认值. 09-03 19:26:22.736:W/Bundle(17458):尝试转换生成的内部异常:09-03 19:26:22.736:W/Bundle(17458):java.lang.ClassCastException:java.lang.Integer不能强制转换为java.lang.String 09-03 19:26:22.736:W/Bundle(17458):at android.os.Bundle.getString(Bundle.java:1061)09-03 19:26:22.736:W/Bundle(17458):在android.content.Intent.getStringExtra(Intent.java:4466)09-03 19:26:22.736:W/Bundle(17458):at com.facebook.AuthorizationClient $ KatanaLoginDialogAuthHandler.tryAuthorize(AuthorizationClient. java:821)09-03 19:26:22.736:W/Bundle(17458):at com.facebook.AuthorizationClient.tryCurrentHandler(AuthorizationClient.java:272)

在此输入图像描述


09-02 22:55:04.110:E/AndroidRuntime(13287):FATAL EXCEPTION:main 09-02 22:55:04.110:E/AndroidRuntime(13287):java.lang.RuntimeException:无法恢复活动 {com.good .amrfbintegration/com.facebook.LoginActivity }: java.lang.NullPointerException 09-02 22:55:04.110:E/AndroidRuntime(13287):at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3036)09-02 22 :55:04.110:E/AndroidRuntime(13287):在android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3077)09-02 22:55:04.110:E/AndroidRuntime(13287):在android.app.ActivityThread. handleLaunchActivity(ActivityThread.java:2373)

在此输入图像描述

这是我到目前为止所做的

使用以下信息在Facebook上更新了应用程序(我使用了使用我机器的调试密钥库生成的哈希键)

在此输入图像描述

以下是我的清单文件中的相关信息(@ string/app_id是来自facebook开发门户的应用程序ID)

在此输入图像描述

我以这种方式向我的项目添加了对Facebook SDK的引用

在此输入图像描述

这是主要活动的OnCreate方法中的代码

@Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        activity = this;

        Session.openActiveSession(this, true, new Session.StatusCallback() 
        {
            @Override
            public void call(Session session, SessionState state, Exception exception)
            {               
                if (session.isOpened())
                { …
Run Code Online (Sandbox Code Playgroud)

android facebook android-facebook facebook-sdk-3.0

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

用于DACPAC部署的SQL Azure和Powershell

我正在使用PowerShell将Visual Studio 2012上构建的dacpac部署到SQL Azure,并运行我认为可能与某些版本不兼容的问题.当我从visual studio执行时,发布工作正常,但是当我使用PowerShell执行它时抛出异常.

这是我在Powershell中所做的

[System.Reflection.Assembly]::Load("Microsoft.SqlServer.Management.Sdk.Sfc, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91") | out-null
[System.Reflection.Assembly]::Load("Microsoft.SqlServer.Smo, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91") | out-null
[System.Reflection.Assembly]::Load("Microsoft.SqlServer.ConnectionInfo, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91") | out-null
[System.Reflection.Assembly]::Load("Microsoft.SqlServer.Management.Dac, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91") | out-null

Trap 
{  
  PrintException($_.Exception);
  $fileStream.Close()  
  return;  
}

$sqlServerFullName = $sqlServerName + ".database.windows.net"
$serverConnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($sqlServerFullName, $adminLogin, $admingPwd)
$serverconnection.Connect()

$dacstore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverConnection)
$fileStream = [System.IO.File]::Open($dacpacPath,[System.IO.FileMode]::OpenOrCreate)

Write-Host "Reading contents from $dacpacPath..."
$dacType = [Microsoft.SqlServer.Management.Dac.DacType]::Load($fileStream)
Run Code Online (Sandbox Code Playgroud)

上面代码中的最后一行是崩溃的以下错误(内部异常值)而不是继续进行

The stream cannot be read to construct the DacType.

There is an error in XML document …
Run Code Online (Sandbox Code Playgroud)

sql-server powershell dac azure-powershell azure-sql-database

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

Task.Delay(0)不是异步的

我有以下代码(是的,我可以模拟JavaScript setTimeoutAPI)

    async void setTimeout(dynamic callback, int timeout)
    {
        await Task.Delay(timeout);
        callback();
    }
Run Code Online (Sandbox Code Playgroud)

它看起来像timeout > 0,在setTimeout异步其中,控制返回到作品calleeawait,并callback在任务完成后调用异步运行.但是,timeout == 0函数以同步方式运行时(代码总是在没有上下文切换的同一线程中经过await行).在进一步挖掘时,事实证明这Task.Delay是以这种方式实现的(Task.Yield()与Task.Delay(0))

不知道是否有一种方法,使Task.Delay(0)或异步的替代解决方案,使我的setTimeout功能异步时timeout0?(这样我可以模仿JavaScript setTimeout 功能)我看到有关使用Task.FromResult(true)或的讨论Task.WhenAll,但它们似乎不起作用.

事实上,我可以使用Task.Delay(1)Task.Delay(0)不是看起来有机.

c# multithreading asynchronous async-await

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

Azure WebJobs和ServiceBusTrigger

毒性消息处理如何为Azure WebJobs SDK工作ServiceBusTrigger?我希望将已经出队超过'x'次的服务总线队列消息推送到不同的ServiceBus(或)存储队列

在线文档这里这里和SDK样本,这里不会对带毒邮件如何处理作品ServiceBusTrigger例子.这项工作正在进行中吗?

我尝试使用dequeueCount参数实现自定义病毒消息处理,但它看起来不支持ServiceBusTriggers,因为我得到了一个运行时异常{"Cannot bind parameter 'dequeueCount' when using this trigger."}

public static void ProcessMessage([ServiceBusTrigger(topicName: "abc", subscriptionName: "abc.gdp")] NotificationMessage message,
            [Blob("rox/{PayloadId}", FileAccess.Read)] Stream blobInput, Int32 dequeueCount)
        {
            throw new ArgumentNullException();
        }
Run Code Online (Sandbox Code Playgroud)

c# azure azureservicebus azure-webjobs azure-webjobssdk

8
推荐指数
2
解决办法
6905
查看次数

Android的overridePendingTransition和singleInstance

在将活动的launchMode更改为"singleInstance"后,我遇到了一个不能使用overridePendingTransition的问题.我很想听听你的意见

我正在开发一个应用程序来浏览一副纸牌.为了简单起见,让我们假设应用程序包含两个活动card_deckcard.点击card_deck活动中的任意位置即可打开卡片活动.然后,您可以在卡片活动中向左或向右滑动以打开卡片中的下一张/上一张卡片.我有一个整洁的进入和退出动画,通过刷卡发生.

以下是android活动堆栈的外观

在此输入图像描述

正如你现在猜到的那样,有很多类型卡的活动.

我将card活动的launchMode从标准更改为singleInstace(我还有另一个与adMob相关的原因,就是使用singleInstance路由).现在,当我调用以下代码片段时,动画不再出现.

from Card.class

Intent intent = new Intent(activity, Card.class);
activity.startActivity(intent);
activity.overridePendingTransition(enterAnim, exitAnim);
Run Code Online (Sandbox Code Playgroud)

我认为动画被抑制了,因为只有一种类型卡的活动,并且它的onCreate不会被调用('cos使其成为单一实例).我也尝试在onNewIntent()/ onResume()上调用overridePendingTransition(),但它没有帮助.

简而言之,当'A'的launchMode为singleTop/singleInstance时,如何从A.class调用startActivity(activity,A.class)时显示进入和退出动画

animation android transition single-instance

5
推荐指数
0
解决办法
1600
查看次数

Azure存储和条件替换/合并

在Azure表存储的批量保存操作中,是否有一种有效的方法来替换实体上的某些属性(如果已存在);但是更新新实体的所有属性吗?

这是我正在谈论的场景。

我有一个名为Order的实体

public class Order : TableEntity
{
    public Order(String department, string orderId)
    {
        this.PartitionKey = department;
        this.RowKey = orderId;
    }

    public DateTime CreatedOn {get; set;}
    public String CreatedBy {get; set;}

    public DateTime UpdatedOn {get; set;}
    public String UpdatedBy {get; set;}

    //Class contains other properties which could add up to 1MB
}
Run Code Online (Sandbox Code Playgroud)

情境

  1. Azure表存储具有带有RowKeys [0..100]的订单实体
  2. 我的API收到带有RowKeys [50..150]的订单的增补请求。
  3. 在单批交易中,我需要更新订单[50-100]上的某些属性,并在天蓝色时创建新的订单实体[101-150]。
  4. 注意:在现有订单[50..100]上,除CreatedOn,CreatedBy,PartitionKey和RowKey之外的所有属性都需要更新。

我可以在不读取表存储中内容的情况下一步完成此操作吗?

这是一种实现方法(非常粗糙的伪代码)

function Upsert(Dictionary<String, Order> ordersInput)
{
    //1. Read existing ordersInput from database
    var existingOrders = Retrieve(ordersInput.Values);

    //2. Update …
Run Code Online (Sandbox Code Playgroud)

c# upsert insert-update azure azure-table-storage

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

New-AzureDeployment可能存在的错误

新AzureDeployment cmdlet中未从-Name参数的值更新部署名称.根据此处的 MSFT文档,-Name参数映射到部署名称,但在我测试时,使用-Name参数值更新了部署唯一名称.而且,我可以使用像'.'这样特殊字符."/"中部署名称直接从门户网站上传包时,但该cmdlet不会让我使用任何特殊字符

想知道是否有人遇到过这个问题?

这是我在使用特殊字符时看到的错误的屏幕截图

新Azuredeployment:HTTP状态代码:BadRequest - HTTP错误消息:部署名称无效

在此输入图像描述

cmdlets azure azure-deployment azure-powershell

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

XML序列化时出现C#错误"XML文档中存在错误(2,2)"

所有,我正在尝试序列化和反序列化类,并且反序列化失败.有大量类似的线程,但我无法解决这个问题.我收到以下错误"XML文档中存在错误(2,2)"内部期望"{"未被预期."}"

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;

namespace XMLSerialization
{
 [System.Xml.Serialization.XmlRootAttribute(Namespace = "",
     IsNullable = false)] 
 public class Level
 {
  private String _name;
  private String _background;

  public Level() 
  {
   _name = "LEVEL_NAME";
   _background = "LEVEL_BACKGROUND_IMAGE";
  }

  [XmlAttribute("LevelName")]
  public String LevelName
  {
   get { return _name; }
   set { _name = value; }
  }

  [XmlAttribute("Background")]
  public String Background
  {
   get { return _background; }
   set { _background = value; }
  }
 }
}
Run Code Online (Sandbox Code Playgroud)

这是我用于反序列化的代码.序列化正在发生,但反序列化没有经历.我认为我犯了一个小错误,但我无法解决这个问题!

using System;
using …
Run Code Online (Sandbox Code Playgroud)

c# xml-serialization

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