小编Joh*_*err的帖子

只构建功能/*分支

我正在尝试将TeamCity构建设置为仅构建功能分支,并忽略master,develop等.

我目前在我的分支规范中有这个:

+:裁判/头/特征/*

git teamcity

11
推荐指数
2
解决办法
6474
查看次数

Azure WebJob SDK服务总线文档?

我正在尝试使用Azure WebJob SDK,但我无法找到任何文档,因此我可以知道会发生什么,而不必通过测试来捅它.

我确实找到了这个:http://azure.microsoft.com/en-us/documentation/articles/websites-webjobs-resources/但它更多的是教程而不是文档.他们向我介绍了SDK的基本用法,但他们没有详细介绍非快乐路径的情况.

我还发现https://github.com/Azure/azure-webjobs-sdk-samples有一些不愉快的路径,但那里的服务总线信息非常少.

如果没有强大的文档,如果源代码可用(除了通过反射),那将是很好的.然后我可以挖一点,找到我的问题的答案.目前,我发现回答任何问题的唯一方法是编写一些测试但很快就会变得单调乏味.

在上述链接中我无法找到答案的一些问题示例(尽管我可能已经错过了它):

  1. 如果我有一个带[ServiceBusTrigger("my-queue")] String 参数的方法,那么它是PeekLock还是ReceiveAndDelete?

  2. 怎么样[ServiceBusTrigger("my-queue")] BrokeredMessage

  3. 如果它是PeekLock,那么在函数成功执行(没有例外)时会发生什么?它是否在消息上调用Complete或我是否需要手动调用?

  4. 如果我有一个[ServiceBusTrigger("my-queue")] BrokeredMessage而不是一个,行为会改变[ServiceBusTrigger("my-queue")] String吗?

  5. 如果我的处理方法抛出异常会发生什么?它是否会在消息上调用Abandon?

  6. 如果我的处理功能需要比PeekLock超时更长的时间,是否会自动更新锁定,还是我必须手动执行此操作?

  7. 除String和BrokeredMessage之外,还有其他可用于ServiceBusTriggers的自动反序列化吗?

  8. 是否可以将反序列化器连接到ServiceBusTrigger参数?例如,如果我的消息是protobuf格式,我可以教它关于它的WebJob SDK,以便它可以为我反序列化或者我必须作为BrokeredMessage接收它并手动反序列化吗?

azure azure-webjobs azure-webjobssdk

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

除非指定端口 443,否则 SSL 上的“净使用”会失败

我们正在尝试通过 SSL使用net use连接到 WebDAV 服务器。在某些服务器上,我们看到一个问题,即只有在 URL 中指定端口 443 时,此连接才能成功。

做地图

net use * "https://example.com:443/folder"
net use * "\\example.com@SSL@443\folder"

而且,奇怪的是,这也是: net use * "\\example.com@SSLasdf\folder"

不映射

net use * "https://example.com/folder"
net use * "\\example.com@SSL\folder"

在非工作情况下,我们始终收到以下错误:

System error 67 has occured.
The network name cannot be found.

我们注意到一些可能有用的信息:

  • 我们有一个测试服务器,它的配置方式与生产服务器相同,并且按预期工作。
  • 在非工作情况下,在生产服务器上从未看到来自故障主机的传入请求。
  • 所有客户端都基于相同的图像。
  • 这个问题并没有在所有客户端上一致地表现出来——有些工作,有些没有。
  • 客户端 DNS 缓存中存在 example.com 的现有有效条目。
  • 刷新受影响服务器的客户端 DNS 缓存并不能解决问题。
  • 一旦问题出现,它似乎坚持。也就是说,如果我执行其中一个工作映射,将其删除,然后立即执行其中一个非工作映射,问题仍然存在。

我们完全被难住了。有什么理论吗?

windows dns ssl networking webdav

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

Azure Service Bus订户定期打电话回家?

我们有pub/sub应用程序,涉及通过Azure Service Bus主题订阅Web角色发布者的外部客户端.我们当前的结算周期表示我们已发送/接收> 25K消息,而我们的信息中心表示我们已发送<100.我们正在调查我们的实施并检查我们的假设,以便了解这种差异.

作为调查的一部分,我们在客户端计算机上收集了客户端<=>服务总线流量的wireshark捕获.我们注意到了一种我们尚未见过的常规沟通模式,并且希望更好地理解.如果总线上没有任何活动,则每50秒进行一次以下交换:

  1. 客户端将~200B推送到服务总线.
  2. 10s后,服务总线将~800B推送到客户端.客户端注册空消息的接收(通过断点确定).
  3. 客户端立即响应〜1000B到服务总线.

一些相关信息:

  • 当我们的Web角色没有主动将数据推送到服务总线时,就会发生这种情况.
  • 在从Web角色接收到合法消息后,上述模式将不会再发生,直到整整50秒过去.
  • 客户端和服务器都通过TCP 连接到sb:// namespace .servicebus.windows.net.
  • 我们的应用程序消息<64 KB

问题

  1. 我们看到的常规3分组消息交换负责什么?它是某种保持活力吗?
  2. 3个数据包中的每一个都被视为单独的可计费消息吗?
  3. 此行为是可配置还是以其他方式记录?

编辑:

这是接收消息的代码:

    private void Listen()
    {
        _subscriptionClient.ReceiveAsync().ContinueWith(MessageReceived);
    }

    private void MessageReceived(Task<BrokeredMessage> task)
    {
        if (task.Status != TaskStatus.Faulted && task.Result != null)
        {
            task.Result.CompleteAsync();
            // Do some things...
        }
        Listen();
    }
Run Code Online (Sandbox Code Playgroud)

c# asp.net tcp azure

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

SignalR 2 长轮询“协议”请求在本地未运行时超时

目前我有一个非常健谈的应用程序,需要单例支持(见下面的代码)。我升级到 SignalR 2.0 并遵循了升级指南,但是在将其部署到环境中后,有时对每个“协议”的所有请求都会失败,并且信号器中断,当它没有中断时,推送速度非常慢从服务器到客户端的通知,也许这与使用长轮询有关?这是我的服务器端代码的样子。

Owin启动类中的配置方法

 var hubConfig = new HubConfiguration();
 hubConfig.EnableDetailedErrors = true;
 GlobalHost.DependencyResolver.UseSqlServer(ConfigurationManager.AppSettings["ConnectionString"].ToString());
 app.MapSignalR(hubConfig);
Run Code Online (Sandbox Code Playgroud)

如您所见,我使用的是 SQL 背板。这是我的集线器的样子

public class MyHub : Hub
{
    public void JoinGroup(int someId)
    {
        Groups.Add(Context.ConnectionId, someId.ToString());
    }

    public void LeaveGroup(int someId)
    {
        Groups.Remove(Context.ConnectionId, someId.ToString());
    }
}
Run Code Online (Sandbox Code Playgroud)

这里要说明的另一点是我正在使用组。这可能是问题的一部分,我注意到组似乎使事情变得更慢,好像信号器在推送通知后正在等待组中的所有用户完成。我的单身人士看起来像这样。

public class Broadcaster
    {
        private readonly static Lazy<Broadcaster> _instance =
            new Lazy<Broadcaster>(() => new Broadcaster(GlobalHost.ConnectionManager.GetHubContext<MyHub>().Clients));
        private IHubConnectionContext _context;
        private Broadcaster(IHubConnectionContext context)
        {
            _context = context;
        }
        public static Broadcaster Instance
        {
            get { return _instance.Value; }
        }
        public …
Run Code Online (Sandbox Code Playgroud)

c# signalr signalr-hub signalr.client

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

由于依赖于Microsoft.Bcl,TeamCity上的CI构建失败

当我尝试在Teamcity中(或在我的机器上的干净存储库中)构建我的项目时,它失败并显示错误消息

The schema version of 'Microsoft.Bcl' is incompatible with version 1.7.30402.9028 of NuGet. Please upgrade NuGet to the latest version from <nuget url>...
Run Code Online (Sandbox Code Playgroud)

我已将NuGet.Targets设置为还原包,而不需要用户交互来接受许可.此外,我的本地计算机和构建服务器都启用了还原包设置(在项目/ env变量中,视情况而定).

我知道这个问题http://blogs.msdn.com/b/dotnet/archive/2013/06/12/nuget-package-restore-issues.aspx.我已尝试过这里建议的第二个和第三个选项,但没有成功.

有没有人有任何建议如何解决此错误?

c# teamcity nuget

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

在Azure功能中发出故障信号的最佳方式是什么?

在编译的C#/ F#中编写Azure函数时,向函数运行时发出函数失败的最简洁方法是什么?

我知道抛出异常会导致失败,但我更愿意在内部处理.我还注意到,当函数写入log.Error执行时仍被认为是成功的.

抛出异常是发出失败信号的唯一方法,还是有更好的做法?

c# f# azure azure-functions

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