我正在尝试将TeamCity构建设置为仅构建功能分支,并忽略master,develop等.
我目前在我的分支规范中有这个:
+:裁判/头/特征/*
我正在尝试使用Azure WebJob SDK,但我无法找到任何文档,因此我可以知道会发生什么,而不必通过测试来捅它.
我确实找到了这个:http://azure.microsoft.com/en-us/documentation/articles/websites-webjobs-resources/但它更多的是教程而不是文档.他们向我介绍了SDK的基本用法,但他们没有详细介绍非快乐路径的情况.
我还发现https://github.com/Azure/azure-webjobs-sdk-samples有一些不愉快的路径,但那里的服务总线信息非常少.
如果没有强大的文档,如果源代码可用(除了通过反射),那将是很好的.然后我可以挖一点,找到我的问题的答案.目前,我发现回答任何问题的唯一方法是编写一些测试但很快就会变得单调乏味.
在上述链接中我无法找到答案的一些问题示例(尽管我可能已经错过了它):
如果我有一个带[ServiceBusTrigger("my-queue")] String
参数的方法,那么它是PeekLock还是ReceiveAndDelete?
怎么样[ServiceBusTrigger("my-queue")] BrokeredMessage?
如果它是PeekLock,那么在函数成功执行(没有例外)时会发生什么?它是否在消息上调用Complete或我是否需要手动调用?
如果我有一个[ServiceBusTrigger("my-queue")]
BrokeredMessage而不是一个,行为会改变[ServiceBusTrigger("my-queue")]
String吗?
如果我的处理方法抛出异常会发生什么?它是否会在消息上调用Abandon?
如果我的处理功能需要比PeekLock超时更长的时间,是否会自动更新锁定,还是我必须手动执行此操作?
除String和BrokeredMessage之外,还有其他可用于ServiceBusTriggers的自动反序列化吗?
是否可以将反序列化器连接到ServiceBusTrigger参数?例如,如果我的消息是protobuf格式,我可以教它关于它的WebJob SDK,以便它可以为我反序列化或者我必须作为BrokeredMessage接收它并手动反序列化吗?
我们正在尝试通过 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.
我们注意到一些可能有用的信息:
我们完全被难住了。有什么理论吗?
我们有pub/sub应用程序,涉及通过Azure Service Bus主题订阅Web角色发布者的外部客户端.我们当前的结算周期表示我们已发送/接收> 25K消息,而我们的信息中心表示我们已发送<100.我们正在调查我们的实施并检查我们的假设,以便了解这种差异.
作为调查的一部分,我们在客户端计算机上收集了客户端<=>服务总线流量的wireshark捕获.我们注意到了一种我们尚未见过的常规沟通模式,并且希望更好地理解.如果总线上没有任何活动,则每50秒进行一次以下交换:
一些相关信息:
问题
编辑:
这是接收消息的代码:
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) 目前我有一个非常健谈的应用程序,需要单例支持(见下面的代码)。我升级到 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) 当我尝试在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#/ F#中编写Azure函数时,向函数运行时发出函数失败的最简洁方法是什么?
我知道抛出异常会导致失败,但我更愿意在内部处理.我还注意到,当函数写入log.Error执行时仍被认为是成功的.
抛出异常是发出失败信号的唯一方法,还是有更好的做法?