小编jak*_*don的帖子

蚂蚁模式匹配 - *与**

我们正在使用TeamCity生成*.nupkg我们不想清理的工件.TeamCity提供了一个字段,您可以在其中指定ANT样式模式,以指示您要执行或不希望清除哪些文件.让我们假设我们有以下文件,我们不想清理它们:

/a.nupkg
/dir1/b.nupkg
/dir1/dir2/c.nupkg
Run Code Online (Sandbox Code Playgroud)

*.nupkg模式是否匹配.nupkg根目录和所有子目录中的文件,或者是否需要**.*nupkg用于遍历所有目录?

我阅读了以下文档,但这对我来说仍然含糊不清:http://ant.apache.org/manual/dirtasks.html#patterns

如果有一个Ant模式测试器(类似于http://regexpal.com/)那将是惊人的.

ant teamcity teamcity-9.0

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

T4用于在LLBLGen Pro实体上生成POCO?

据我了解,LLBLGen Pro无法通过它自己的实体生成POCO(请参阅此处:http://www.llblgen.com/Pages/featuresLLBLGenPro.aspx ).

是否有人编写了一个T4,它将生成与LLBLGen Pro实体相对应的POCO类,并生成适当的转换逻辑以进出实体和POCO?有没有其他人想出一个不涉及手动编写大量转换代码的解决方案?

.net orm t4 llblgenpro poco

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

绕过Google地理编码API IP速率限制

我们是一家大公司的一个部门,正在遇到Google地图和地理编码API的主要问题.问题是我们公司的所有70个部门都在同一个IP地址之后.因此,印度的客户服务代理似乎来自与俄亥俄州克利夫兰的开发人员相同的IP地址,他们似乎来自与西欧分部总裁相同的IP地址.我们拥有130,000多名员工,因超出IP速率限制而经常被阻止.

除了刚刚浏览到恰好使用带有客户端地理编码请求的Google地图的网站的个人,任何尝试进行批量地理编码或提供他们自己的应用程序来显示地图的部门都会产生相同的限制!我们实际上在内部使用我们自己的购买地点服务(http://www.ridgid.com/Tools/Where-To-Buy/),向客户提供有关当地经销商的信息.

虽然我们没有遇到API限制(至少现在还没有,当我们这样做时,我们总是可以购买企业许可证),但我们遇到了IP速率限制,目前还没有解决方法.我们已经在缓存地理编码结果和减少浪费的呼叫方面遵循最佳实践.值得庆幸的是,这对我们的客户来说不是问题,因为他们与我们公司内的用户不在同一个IP上.

问题是,在我们的设置中,我们是否有任何方式可以从Google获取特定IP地址的例外以改善基于IP的限制?这对Google来说真的是一个问题.谢谢你的帮助!

google-maps google-maps-api-3 google-geocoder

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

将动态控件插入控件集合的中间

这是我的第一篇文章!我非常绝望,所以我超越了标准的谷歌搜索.我相信这是一个高级或专家级的.NET问题.

问题是我构建了一个.NET Web应用程序,它需要能够动态地将用户控件插入到列表中间.我对动态控件非常熟悉这么长时间他们只需要添加到列表的末尾(即:我熟悉这样的文章:http://msdn.microsoft.com/en-us/library/ ms972976.aspx).但是,如果我需要将一个UserControl添加到Controls集合的前面或中间的某个地方,那么由于控件的UniqueID被抛弃,我几乎丢失了.

作为一个简化的例子,假设我有一个Panel,我正在添加一个名为MyControl.ascx的UserControl列表.我还有一些事件可以在页面上触发,需要动态地将MyControl.ascx插入到面板的Controls集合的指定索引中.我还需要在MyControl.ascx上有一个或多个事件我需要订阅.这意味着需要在这些控件上的事件触发之前加载控件,否则它们将不会触发.如果你不知道我所指的是什么,那么我要么说问题不好,要么这个问题可能对你来说太难了:)

下面是一些C#伪代码来演示这个问题.问题是Controls.AddAt(索引,控制)方法不会相应地调整控件的UniqueID值.例如,请考虑Controls集合中的以下控件:

无论我是否实际编写直接依赖于UniqueID的代码,.NET间接使用UniqueID将在先前回发上触发的事件链接在一起,并在新的回发上加载控件.以前面的例子为例:

在最初 Page Load (Page.IsPostback == false)

<table>
  <tr>
    <td width='100'>Control index</td>
    <td width='75'>UniqueID</td>
    <td>Value</td>
  </tr>
  <tr>
    <td>0</td>
    <td>ctl00</td>
    <td>value1</td>
  </tr>
  <tr>
    <td>1</td>
    <td>ctl01</td>
    <td>value2</td>
  </tr>
  <tr>
    <td>2</td>
    <td>ctl02</td>
    <td>value3</td>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

Page.IsPostback == false某个其他控件想要在索引0处插入控件的回发()之后:

如果我这样做,Controls.AddAt(0, newControl)那么Controls集合看起来像这样:

<table>
  <tr>
    <td width='100'>Control index</td>
    <td width='75'>UniqueID</td>
    <td>Value</td>
  </tr>
  <tr>
    <td>0</td>
    <td>ctl03</td>
    <td>value0  <== the controls' unique IDs do not shift!</td>
  </tr>
  <tr>
    <td>1</td>
    <td>ctl00</td>
    <td>value1</td>
  </tr>
  <tr>
    <td>2</td> …
Run Code Online (Sandbox Code Playgroud)

c# asp.net user-controls dynamic-controls

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

互斥的团队城市建设触发两个射击

我们在TeamCity中针对TFS配置了两个单独的构建,具有以下触发器(如下所示).

Build 1:
+:Folder1/Folder2/Folder3/FilePrefix\*\*
+:Source/\*\*
+:Tests/\*\*

Build 2:
+:Folder1/Folder2/\*\*
-:Folder1/Folder2/Folder3/FilePrefix\*\*
-:Tests/\*\*
-:Source/\*\*
Run Code Online (Sandbox Code Playgroud)

如果我们对文件进行更改,Folder1/Folder2/Folder3/FilePrefix我们发现BOTH构建了触发器.文件说明:

对于更改中的每个文件,找到最具体的规则(与最长文件路径匹配的规则).如果至少有一个文件具有匹配的"包含"规则或文件没有匹配的规则,则触发构建.

这是否意味着只有最具体的规则优先?为什么Build 2不包含此文件,因为-:Folder1/Folder2/Folder3/FilePrefix**?看来这+:Folder1/Folder2/**就是覆盖忽略规则.

version-control build-automation teamcity tfs build

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

带有HREFLANG的站点地图的XSD

我们正在推出一个主要网站,支持20种语言和大量区域内容(即针对特定国家或国家集团的内容).因此,我们有一个教科书用例,用于在我们的站点地图中使用xhtml:link with rel ='hreflang'.我们通常更喜欢从XSD生成类,以便我们可以以编程方式生成符合保证的XML.我希望在定义中找到包含xhtml:link的更新XSD.但是,我一直指向基础站点地图xsd:http://www.sitemaps.org/schemas/sitemap/sitemap.xsd,它不支持xhtml:link(在xhtml-link-1.xsd中定义) .

看起来谷歌只支持xhtml:link元素及其支持的属性,但在我尝试手动修改基本的sitemap.xsd以包含此内容之前,我想看看是否有人花时间发布已经拥有的XSD http://www.sitemaps.org/schemas/sitemap/0.9http://www.w3.org/1999/xhtml包括在内?如果是这样,你能指出我正确的方向吗?或者如果我出于某种原因走错了路,我也很欣赏被引导到正确的方向.在此先感谢您的帮助!

sitemap seo xsd

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

Apiary.io和/或API Blueprint是否支持api版本控制?

api blueprint或Apiary.io是否支持对API进行版本控制的概念?特别是,我通过这样的URI对我的API进行版本控制:

GET /api/v2/SomeResource/
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,这意味着我正在调用API的版本2("v2").api蓝图是否支持此功能?如何记录给定操作或整个API的多个版本?

rest apiblueprint apiary

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

Entity Framework 6在哪里获取迁移的连接字符串?

我首先使用EntityFramework 6代码进行迁移。我有两个项目-UI和BusinessLogic。UI是一个依赖于BusinessLogic的.NET MVC Web应用程序,BusinessLogic是一个类库。WebUI的config部分包括连接字符串。BusinessLogic还具有以下config部分(不提供连接字符串),并包含实际的代码优先Migration类:

<entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> <providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> </providers> </entityFramework>

在运行程序包管理器控制台时,update-database -ProjectName BusinessLogic它以某种方式知道如何使用UI项目中的连接字符串。

为了理解这种情况的发生原因,我将调试器附加到DbContext类的构造函数中,如下所示:

public MyDbContext() : base(CloudConfigurationManager.GetSetting(CONNECTION_STRING_KEY, false))
{
  //--launch the debugger
  System.Diagnostics.Debugger.Launch();
Run Code Online (Sandbox Code Playgroud)

现在启动调试器并在DbContext构造函数中创建一个断点,我可以评估出以下AppDomain.CurrentDomain.BaseDirectory结果:

C:\\someRepoLocation\\Source\\BusinessLogic\\bin\\Debug\\ 这似乎表明当前的应用程序域是BusinessLogic。

但是,评估AppDomain.CurrentDomain.SetupInformation.ConfigurationFile收益: C:\\someRepoLocation\\Source\\UI\\tmpD442.tmp

因此,当前的应用程序域是BusinessLogic,但是它在根UI文件夹中使用了某些.tmp配置文件??

没有人可以解释为什么/为什么不在BusinessLogic的app.config中提供连接字符串(存在迁移的地方)吗?我原本希望必须在BusinessLogic类库的app.config中设置一个连接字符串-但如果这是预期的行为,我很高兴不这样做。期待听到解释!

entity-framework visual-studio ef-code-first entity-framework-6

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

如何使用 Elixir / Ecto 在 jsonb PostgreSQL 中查询空数组

我有一个 Ecto 模式,其 embeds_many 定义如下:

  schema "rounds" do
    embeds_many :growth_cycles, SomeModule.GrowthCycle, on_replace: :delete
  end
Run Code Online (Sandbox Code Playgroud)

这将转换为 PostgreSQL 中的 jsonb 字段。默认值为空数组 - []。我想编写一个 Ecto 查询,该查询仅返回具有 Growth_cycles = [] 的回合(growth_cycles 未设置/为空)。

我尝试过的最简单的事情是:

    from(r in Round, where: r.growth_cycles == [])
Run Code Online (Sandbox Code Playgroud)

但这会产生以下错误:

** (Postgrex.Error) ERROR 42P18 (indeterminate_datatype) cannot determine type of empty array
...
hint: Explicitly cast to the desired type, for example ARRAY[]::integer[].
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

    from(r in Round, where: length(r.growth_cycles) == 0)
Run Code Online (Sandbox Code Playgroud)

但这会给出一个错误,指出长度不是有效的查询表达式。

我看到有关使用片段下拉到原始 PostgreSQL 的参考,但我不知道如何做到这一点。

postgresql elixir ecto

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

在返回普通任务的方法上设置期望值

我正在努力使用正确的方法来模拟和设置一个返回普通(即非泛型)的方法的期望Task.假设我有一个ICanNotCode使用以下方法调用的接口:

async Task DoSomethingIncredible();
Run Code Online (Sandbox Code Playgroud)

我正在使用Rhino Mocks作为我的模拟框架,并且一直在尝试为使用此接口的单独方法编写测试.期望看起来像这样:

canNotCodeMock.Expect(mock => mock.DoSomethingIncredible()).Return(new Task(() => { }));
Run Code Online (Sandbox Code Playgroud)

代码编译,但每当我运行Visual Studio时,它就会挂起,直到我手动终止任务运行器.

对返回方法设定期望的正确方法是Task什么?非常感谢你的帮助!

.net c# unit-testing rhino-mocks async-await

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

您可以在 .NET WebApi Route URI 中使用正则表达式进行 API 版本控制吗

在 MVC 和 WebApi 中,您可以向路由添加参数约束(请参阅http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api- 2#约束)。您甚至可以对参数约束使用正则表达式。但是,我想知道是否可以使用正则表达式来处理 API 版本控制,其中许多路由可以/应该路由到相同的操作。

例如,我试图在实际 URI 中对我的 API 进行版本控制,如下所示:

/api/v3/SomeResource
Run Code Online (Sandbox Code Playgroud)

其中 v3 表示它是 API 的第 3 版。如果我使用的是 API 的第 3 版,则所有三个版本中的许多操作可能都没有变化,因此需要响应:

/api/v1/SomeResource
/api/v2/SomeResource
/api/v3/SomeResource
Run Code Online (Sandbox Code Playgroud)

因此,我希望能够像这样在我的路由属性中放置一个正则表达式: [Route("api/v(1|2|3)/SomeResource")] 但它似乎没有处理v(1|2|3) 作为正则表达式,而是将其视为文字。换句话说,对 /api/v1/SomeResource 的请求不会执行此操作。

有可能完成我想要完成的任务吗?有没有办法在我的路线中加入正则表达式?

提前致谢!

.net asp.net asp.net-mvc asp.net-web-api asp.net-web-api-routing

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