小编Jef*_*f D的帖子

如何排除属性在Azure表存储中保留?

如果我有这样的课程:

    public class Facet : TableServiceEntity
{
    public Guid ParentId { get; set; }      
    public string Name { get; set; }
    public string Uri{ get; set; }
    public Facet Parent { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

Parent来自ParentId Guid,该关系旨在由我的存储库填充.那么我如何告诉Azure单独留下该字段?是否存在某种类型的Ignore属性,或者我是否必须创建一个提供这些关系的继承类?

azure azure-storage azure-table-storage

22
推荐指数
3
解决办法
7666
查看次数

在rspec(和黄瓜)中测试rake任务

我是Ruby的新手,我一直在努力学习Rake,RSpec和Cucumber.我发现了一些代码可以帮助我测试我的Rake任务,但是我无法让它工作.我在这里被告知:http://blog.codahale.com/2007/12/20/rake-vs-rspec-fight/放弃这个:

def describe_rake_task(task_name, filename, &block)
  require "rake"

  describe "Rake task #{task_name}" do
    attr_reader :task

    before(:all) do
      @rake = Rake::Application.new
      Rake.application = @rake
      load filename
      @task = Rake::Task[task_name]
    end

    after(:all) do
      Rake.application = nil
    end

    def invoke!
      for action in task.instance_eval { @actions }
        instance_eval(&action)
      end
    end

    instance_eval(&block)
  end
end
Run Code Online (Sandbox Code Playgroud)

进入我的spec_helper.rb文件.

我已经设法把这个代码拿出来并在我的黄瓜步骤中运行它:

When /^I run the update_installers task$/ do
 @rake = Rake::Application.new
 Rake.application = @rake
 load "lib/tasks/rakefile.rb"
 @task = Rake::Task["update_installers"]

 for action in @task.instance_eval { @actions } …
Run Code Online (Sandbox Code Playgroud)

ruby rake rspec metaprogramming cucumber

14
推荐指数
3
解决办法
7170
查看次数

让MSDeploy在我们的构建/集成服务器上运行 - 是否需要进行MSBuild升级?

我们认为这是一个相当标准的构建过程:1.开发人员:签入代码2.构建:轮询repo,查看更改,并启动构建:3.构建:来自repo的更新,构建w/MSBuild,运行单元测试w/nunit,4.构建:创建安装程序包

我们的安全团队允许我们从构建服务器中提取,但不允许构建服务器推送.因此,我们通常会对安装程序进行操作,然后运行它们,这将排除光滑的部署服务,因此我需要生成软件包.我想使用MSDeploy,除了我们有以下问题:

  1. 我们在.net 3.5上,使用MSDeploy的MSBuild目标(包)需要4.0.除此之外,我还需要安装除.net 4.0 RC以外的任何东西吗?(MSBuild会参与升级吗?)
  2. 当我使用MSDeploy生成包时,我发现我没有只有1个文件.有一个zip,deploy.cmd,SourceManifest.xml和SetParameters.xml.所有其他文件是什么,为什么它们都不在'包'中?
  3. 听起来好像你可以通过告诉系统查看工作的IIS站点来创建包.但如果这些软件包是从CI环境构建的,那么你在这里基本上没有运气吗?感觉就像他们为从开发环境部署的小规模开发人员设计了一些.这是一个很好的用例,但我很想知道每个人的企业体验是什么

有什么建议?

msbuild continuous-integration msdeploy

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

构建环境设置 - 使用.net,java,hudson和ruby - 真的可以使用批评

我正在尝试找出为下列环境拼接快速,可重复,不易破碎的构建过程的最佳方法.我有一个如何做的计划,但我真的很感激批评.(我也很欣赏一些示例代码,但稍后会详细介绍)

生态系统 - 逻辑:

  1. 网站 - asp.net MVC 2,.net 3.5,Visual Studio 2010. IIS 6,Facebook iframe应用程序应用程序.这个网站/ Facebook应用程序使用一些服务.内部搜索API,内部读/写api,facebook和IP地理定位服务.有关以下内容的更多详情
  2. 内部搜索api - .net,restful,使用旧学校.ashx处理程序构建.api在后台使用lucene和一个sql server数据库.我的项目不会触及lucene代码,但可能触及数据库和Web服务.
  3. 内部读/写api - java,restful,在Tomcat上运行
  4. Facebook网络服务
  5. 模拟内部读/写api的模拟站点,以及facebook api的部分内容
  6. Hudson - 对checkin运行单元测试,并创建一些行为不一致的安装程序.

生态系统 - 物理:

除了Hudson之外,所有这些机器都可以相互通信.哈德森看不到任何目标机器.所以代码必须被拉,而不是被推.(安全事物)1.Web服务器 - 保存网站和读/写api.(api本身写入复制的sql server环境).
2.搜索服务器 - 提供搜索API.
3. Hudson Server - 没有权限推送到任何环境.他们必须拉.4. Lucene Server 5.数据库服务器

问题

我一直在尝试将此站点设置为在压力环境中运行,但是设置步骤的数量,更新组件所需的时间,当前安装程序的黑盒性质以及所需的时间将数据生成到测试系统中绝对会破坏我的生产力.我调整了一个设置,必须重新部署,按特定顺序重新启动,重置一些设置,并重建测试数据.错误导致头部划痕,然后基本上重新开始.很坏.

我的压力测试进一步使这个问题复杂化.我需要能够打开和关闭不同的外部组件,这样我才能有效地确定每个组件的可扩展性.我已经制定了如何为每个依赖项执行此操作的策略,但它进一步使我的设置策略复杂化,因为现在每个组件都有2个选项.模拟版本或真实版本.各地的配置必须相应更新.

目标

  1. 速度快 - 当事情进展顺利时,我希望将其从20分钟的运动中减少到3分钟
  2. 愚蠢的简单 - 我想告诉环境如何处理尽可能少的命令,而不必记住如何将环境拼接在一起
  3. 可重复 - 我希望脚本是幂等的.有点愚蠢简单的事情的必然结果.

迄今为止的计划

这是我到目前为止所提出的,以及我来寻求反馈的内容:

  1. 使用VisualStudio的新web.config转换允许根据环境轻松更改配置.但这个解决方案并不足够.我将设置web.config以让网站在本地运行,但是当在其他地方部署时,我只有6个不同的可能输出仅用于压力环境(因为各种依赖项的模拟),更不用说设置了prod,QA和dev.然后,这些中的每一个都需要它自己的设置,或者然后需要对配置进行后处理的设置.所以我现在倾向于只使用开发版本,以及将关键配置值转换为ruby字符串插值语法的版本.({#VAR_NAME}有点事)
  2. 为每个服务器创建一个ruby脚本,该脚本本质上是一个引导脚本.也就是说,它只会加载执行hudson/subversion"真正"工作的ruby代码,这样脚本的功能就可以随应用程序一起发展,从而可以轻松地在任何时间点构建网站.引用适当的脚本版本.简而言之,这个脚本加载另一个脚本并运行它.
  3. 然后,"真正的"ruby脚本将接受描述环境外观的命令行参数.从那里,可以使用1个配置文件,ruby将下载当前安装程序,运行它们,对配置进行后处理,重新启动IIS/Tomcat,并启动所需的任何数据设置代码.

就是这样了.我真的很紧张地对这个网站进行压力测试,所以你认为任何可能缩短时间的反馈都会受到赞赏.这包括对样本ruby代码的无耻请求.我没有比放入"Hello World"更进一步.:-)只是指导会有所帮助.这是Rake有用的东西吗?您如何推荐我为这种动物编写测试?(我使用接口和自动插件框架来模拟像.net中的http请求之类的东西.使用ducktyping,似乎这可能更容易,但我不知道如何告诉我的代码在测试中使用假鸭,但是在实践中真正的一个)

谢谢大家.对不起,这样一个冗长,开放式的问题.

c# ruby rake hudson build-environment

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

Flyway没有在db/migration中找到我的sql迁移

错误:[错误] com.googlecode.flyway.core.api.FlywayException:无法确定类路径位置的URL:db/migration(ClassLoader:ClassRealm [plugin> com.googlecode.flyway:flyway-maven-plugin:2.1. 1,父母:sun.misc.Launcher$AppClassLoader@43be2d65])

我跟着快速启动,所以我还没有做任何复杂的事情.

的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.cpt.migrations</groupId>
  <artifactId>cpt_migrations</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>cpt_migrations</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.24</version>
    </dependency>
  </dependencies>
  <build>
      <plugins>
          <plugin>
              <groupId>com.googlecode.flyway</groupId>
              <artifactId>flyway-maven-plugin</artifactId>
              <version>2.1.1</version>
              <configuration>
                  <user>root</user>
                  <password></password>
                  <driver>com.mysql.jdbc.Driver</driver>
                  <url>jdbc:mysql://localhost:3306/cpt</url>
              </configuration>
          </plugin>
      </plugins>
  </build>
</project>
Run Code Online (Sandbox Code Playgroud)

我的文件夹结构是规定的PROJECT_ROOT/src/main/resources/db/migration/V1__Base_version.sql:

当我从PROJECT_ROOT执行时,我得到错误:mvn flyway:migrate

flyway

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

Rails 3的A/B框架?

在Rails 3中有什么像ABingo或Vanity吗?我知道有谷歌网站优化工具和视觉网站优化工具,但我需要更多的权力来确定显示什么,以及反过来跟踪他们可以提供什么.如果没有,我甚至会考虑相对简单的框架,以便我可以轻松地将它们转换为Rails 3.

abtest ruby-on-rails-3

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

移动版应用程序不可用,因为它配置错误,无法进行移动访问

除了注册之外,我没有看到任何要求:https: //developers.facebook.com/docs/guides/mobile/web/#register

我已将移动Web URL设置为安全画布URL,但收到错误应用程序WishGenies的移动版本不可用,因为它配置错误,因为移动访问错误

我看到的唯一另一件事可能就是使用Auth Dialog页面,但这只是为我渲染一个空白屏幕.

有什么建议?

mobile facebook mobile-website

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

Visual Studio 2010 web.config转换(TransformWebConfig目标)

我正在尝试为我的转换编写单元测试,所以我正在运行:

msbuild migrated-project.csproj/p:Configuration = Release/T:TransformWebConfig.

这适用于我在VS2010中创建的新项目,但不适用于此项目.我假设它是因为它最初是一个2008年的项目.我知道这应该在webplatformbuild中运行,但我正在尝试做的只是运行转换,因此我可以获取转换后的web.config,并运行一些单元测试以确保存在正确的值.

我没有看到在任何一个项目中引用TransformWebConfig作为目标,所以我不确定我在寻找什么.

msbuild web-config visual-studio-2010

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

Rails上的ruby dto对象 - 你在哪里存储它们?

这里有没有人使用DTO将数据从控制器传输到视图?如果是这样,您会在哪里建议存储这些文件?/ apps/dtos,然后让他们镜像dir结构的视图?有关使用rspec测试这些动物的任何建议吗?

ruby-on-rails dto

5
推荐指数
2
解决办法
2818
查看次数

Windows服务在从3.5迁移的Windows Server 2008,x64,.NET 4上引发System.BadImageFormatException

我已经尝试将服务EXE文件编译为AnyCPU,x86和x64.它适用于我的Windows 7 x64盒子.我正在使用installutil安装.NET 4版本.

当我启动服务时,我收到错误.它没有说什么,但它确实指出了哪些模块被加载.那些有潜在兴趣的人:

LoadedModule [0] = D:\ yellowbook\grapevine_service\grapevinesystemservice.exe LoadedModule 3 = C:\ Windows\system32\KERNEL32.dll LoadedModule 4 = C:\ Windows\system32\KERNELBASE.dll LoadedModule [9] = C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\mscoreei.dll LoadedModule [17] = C:\ Windows\Microsoft.NET\Framework64\v2.0.50727\mscorwks.dll LoadedModule [18] = C:\ Windows\WinSxS\amd64_microsoft .vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4927_none_88dce9872fb18caf\MSVCR80.dll LoadedModule [22] = C:\ Windows\assembly\NativeImages_v2.0.50727_64\mscorlib\9a017aa8d51322f18a40f414fa35872d\mscorlib.ni.dll

我可以使用命令行开关将此服务作为控制台应用程序运行,从而产生以下结果:

未处理的异常:System.BadImageFormatException:无法加载文件或程序集"grapevinesystemservice.exe"或其依赖项之一.此程序集由比当前加载的运行时更新的运行时构建,无法加载.文件名称:'grapevinesystemservice.exe'

我试过注册表黑客强制使用最新的运行时.没有效果.我已经查看了已安装的EXE文件,以确保它没有被我的构建服务器获取,但它的目标是4.0.30319.我的本地,构建和测试服务器都有30319作为.NET 4版本.没有人有过beta/RC.

它们没有在加载模块中列出,但我也使用log4net(在.NET 4中从源代码重建),StructureMap,NoRM(MongoDB),AutoMapper,Newtonsoft.Json以及其他一些构建的DLL文件由我的团队.

.net windows-services .net-4.0 .net-3.5 windows-server-2008

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