问题列表 - 第68238页

强制程序员在其Base中调用方法

我构建了一个Async任务服务执行器,它通过外部请求执行任务.

每个任务都包含函数void,run(),因此任何想要向系统添加任务的程序员都需要继承From BaseTask.

    interface ITask{
       void run();
    }
    abstract BaseTask : ITask{
       //force "run()" to set Result
       public ResultContainer Result {set; get;}
       void run();
    }

    class SomeTask : BaseTask {
       void run(){
           ////run the operation here, in the end, set the result.
           //force the programmer to set the Result;
           this.Result = new ResultContainer("task ok");
       }
    }
Run Code Online (Sandbox Code Playgroud)

由于内部原因,run()必须无效.

有没有什么办法,我可以强迫谁想要添加一个任务来调用一个程序员ResultBaseTask,并将其值? 你认为这是一种不好的做法吗?

谢谢

c# design-patterns

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

如何将一些数据从一个表导入另一个表(MYSQL)

我正在做一个项目.有两个表,用户和mileage_registrants.我们网站的模块需要用户进行另一次注册,除了主要访问我们网站的注册.现在的问题是我们的客户不希望进行这种注册,我不想改变模块的整个架构.所以我想要做的是将user_id从表用户导入到mileage_registrants并将其他字段设置为default或NULL.

表里程_registrants的结构如下:

'id`, `user_id`, `team_id`,  `team_leader`, `building_name`, `department`, `phone_ext`, `party_registered`, `creation_date`.
Run Code Online (Sandbox Code Playgroud)

有超过1000个用户需要完成.逐个插入数据是非常可怕的.有没有可以快速完成这项工作的解决方案?谢谢

mysql

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

无法让测试单元启动在ruby 1.9.2中工作

我使用Ruby 1.9.2(ruby -v产量:ruby 1.9.2p290(2011-07-09修订版32553)[x86_64-linux]),我试图让它工作:

require 'test/unit'

class TestStartup < Test::Unit::TestCase
  def self.startup
    puts "startup"
  end
  def test1
    puts "in test1"
  end
end 
Run Code Online (Sandbox Code Playgroud)

当我跑的时候,我明白了

Loaded suite test_startup
Started
in test1
.
Finished in 0.000395 seconds. 


1 tests, 0 assertions, 0 failures, 0 errors, 0 skips
Run Code Online (Sandbox Code Playgroud)

我很难找到关于这个功能的文档,除了SO上的零散帖子等.

是的,我想使用此功能而不是设置.

TIA

ruby testunit minitest

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

如何使用WMSVC服务和NTLM身份验证在Team Build 2010中使用MSDeploy进行部署?

我正在尝试使用Team Build 2010部署到Windows Server 2008 R2 Web服务器.我的构建服务器代理设置为在Windows域帐户下运行.我已使用IIS管理器权限在我的Web服务器上成功授予此域帐户权限以进行部署.此帐户不是 Web服务器上的管理员.我可以使用以下参数使构建部署正常:

/p:DeployOnBuild=True 
/p:DeployTarget=MsDeployPublish 
/p:CreatePackageOnPublish=False 
/p:MSDeployPublishMethod=WMSVC 
/p:AllowUntrustedCertificate=True 
/p:MSDeployServiceUrl=webservername
/p:DeployIisAppPath="Web Site Name"
/p:UserName=DOMAIN\BUILDID
/p:Password=buildidpassword
Run Code Online (Sandbox Code Playgroud)

因为其他开发人员将要设置他们的构建,我宁愿不发布域帐户的密码,我需要使用NTLM身份验证进行部署.我想继续使用Web管理服务方法(WMSVC)进行部署,因此BUILDID不必是管理员.

我深入研究了"Microsoft.Web.Publishing.targets",看来我应该能够传递一个AuthType参数来控制授权类型,但似乎没有任何效果.我试过了:

/p:DeployOnBuild=True 
/p:DeployTarget=MsDeployPublish 
/p:CreatePackageOnPublish=False 
/p:MSDeployPublishMethod=WMSVC 
/p:AllowUntrustedCertificate=True 
/p:MSDeployServiceUrl=webservername
/p:DeployIisAppPath="Web Site Name"
/p:AuthType=NTLM
Run Code Online (Sandbox Code Playgroud)

而且我也尝试了一个空白的用户名(如StackOverflow上的其他地方所见),但无济于事.我继续得到错误:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3847,5):错误:Web部署任务失败.(使用Web管理服务连接到目标计算机("webservername"),但无法授权.请确保您使用的是正确的用户名和密码,即您要连接的站点存在,并且凭据代表有权访问该站点的用户.)

我也尝试过UseMsdeployexe上一个链接中提到的参数,但后来我得到了与web.config转换相关的其他错误.看起来问题已经出现在Microsoft Connect上,并且在下一期中列为已修复.

msbuild tfs team-build msdeploy tfs2010

30
推荐指数
2
解决办法
4143
查看次数

SQL数据库设计最佳实践(地址)

当然我意识到没有一种"正确的方法"来设计SQL数据库,但我想在我的特定场景中得到一些关于更好或更差的意见.

目前,我正在设计一个订单输入模块(使用SQL Server 2008的Windows .NET 4.0应用程序),当谈到可以应用于多个位置的数据时,我在两个设计决策之间徘徊.在这个问题中,我将专门提到地址.

地址可以被各种对象(订单,客户,员工,货运等)使用,并且它们几乎总是包含相同的数据(地址1/2/3,城市,州,邮政编码,国家等).我原本打算将每个字段作为列包含在每个相关表中(例如,订单将包含Address1/2/3,City,State等.而Customers也将包含相同的列布局).但我的一部分想要在这种情况下应用DRY/Normalization原则,即有一个名为"Addresses"的表,它通过相应表中的Foreign Key引用.

CREATE TABLE DB.dbo.Addresses
    (
        Id          INT
                    NOT NULL
                    IDENTITY(1, 1)
                    PRIMARY KEY
                    CHECK (Id > 0),

        Address1    VARCHAR(120)
                                NOT NULL,

        Address2    VARCHAR(120),

        Address3    VARCHAR(120),

        City        VARCHAR(100)
                    NOT NULL,

        State       CHAR(2)
                    NOT NULL,

        Country     CHAR(2)
                    NOT NULL,

        PostalCode  VARCHAR(16)
                    NOT NULL
    )

CREATE TABLE DB.dbo.Orders
    (
        Id          INT
                    NOT NULL
                    IDENTITY(1000, 1)
                    PRIMARY KEY
                    CHECK (Id > 1000),

        Address     INT
                    CONSTRAINT fk_Orders_Address
                    FOREIGN KEY REFERENCES Addresses(Id)
                    CHECK (Address > 0)
                    NOT NULL,

        -- …
Run Code Online (Sandbox Code Playgroud)

sql database-design

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

以十六进制表示形式获取缓冲区到字符串流:

如果我有一个缓冲区,如:

uint8_t buffer[32];
Run Code Online (Sandbox Code Playgroud)

并且它完全被值填充,我怎么能用十六进制表示法将它变成字符串流,在小值上用0填充?

我试过了:

std::stringstream ss;
for (int i = 0; i < 32; ++i)
{
    ss << std::hex << buffer[i];
}
Run Code Online (Sandbox Code Playgroud)

但是当我从字符串流中取出字符串时,我遇到了一个问题:值<16的字节只需要一个字符来表示,我希望它们是0填充的.

例如,如果数组中的字节1和2是{32} {4},我的字符串流将具有:

204 instead of 2004
Run Code Online (Sandbox Code Playgroud)

我可以将格式化应用于stringstream以某种方式添加0-padding吗?我知道我可以用sprintf做到这一点,但是这些流已经被用于获取大量信息,并且以某种方式实现这一点将是一个很大的帮助.

c++ stringstream

30
推荐指数
3
解决办法
3万
查看次数

在appdata文件夹中创建sql server压缩文件

我正在开发一个简单的软件,它首先使用Entity Framework代码,然后使用sql server compact 4.此时此设置正常运行.实体框架创建sql server压缩文件(如果它尚不存在).数据库的路径是从存储在app.config文件中的连接字符串中定义的.它是这样构建的:

<connectionStrings>
  <add name="DataContext" 
       connectionString="Data source=Database.sdf;"
       providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

但是,我想将数据库放在当前用户的Application Data文件夹(我的win7机器上的C:\ Users\User\AppData\Roaming文件夹)中的文件夹中.我已经尝试将connectionstring的数据源设置为%APPDATA%\ Database.sdf,但是这不起作用,我得到了"路径中的非法字符"异常.

我想坚持使用connectionstring方法,因为我想为我的单元测试使用不同的数据库而不是我的实际应用程序.这样,通过将app.config文件放在项目的根目录中,可以轻松地修改数据库.

有人能引导我朝着正确的方向前进吗?

c# sql-server-ce entity-framework-4.1

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

无法通过 jQuery 选择添加的 tr

我在数据库中找到结果时添加表,它是 jQuery 的原始数据,并在没有找到任何东西时删除表。它工作正常。

$("#AdminSearch").bind("change keyup", function() { 
       var url = "http://localhost/PmMusic/index.php/admin/ajax/admin_search/"+$("#AdminSearch").val();
        $.getJSON(url,function(data){
            if (data.length == 0)
            {
                $("#AutoSearch").hide(1000);
                $("#AutoSearchTable").remove();
            }
            else
            {
                $("#AutoSearchTable").remove();
                $("#AutoSearch").append('<table id="AutoSearchTable">');
                for(var i = 0;i < data.length && i < 5;i++)
                    {
                     $("#AutoSearchTable").append('<tr><td id="TableSearchTR'+i+'" value="'+data[i]+'">'+data[i]+'</td></tr>');
                    }
                $("#AutoSearch").append('</table>');
                $("#AutoSearch").show(1000);    
            }
        });

    });
Run Code Online (Sandbox Code Playgroud)

但是当我想通过以下代码选择 tr

    $('tr').click(function(){
        alert("Hi");
    });
Run Code Online (Sandbox Code Playgroud)

当我单击页面中的其他表 tr 时,它可以工作,但无法选择由上层代码添加的 tr)。问题出在哪儿?

javascript jquery selector

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

收到ID和身份验证令牌后发送邮件时出现c2dm 401错误

虽然有些问题被接受,但我看到了许多类似的问题,但没有很好的答案.我已注册C2DM.我收到了确认邮件.然后我写了一些简单的应用程序来注册C2DM.我得到了id(在模拟器和真实设备上试过).然后我获得了我用于C2DM注册的电子邮件的auth令牌(带卷曲)(我在app中用来获取id的电子邮件).
当我尝试执行推送(也使用curl)时,我收到401错误(就像auth令牌错误一样).

我阅读了很多教程,但我的想法已经不多了.

java android android-c2dm

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

CPU对JavaScript setInterval有多大影响

我写了一个小的jquery插件,它基本上将html元素中的所有单词转换为跨越,使它们不可见,然后将它们动画化为视图.我这样做是为了你可以定义加载整个元素所需的时间,并且根据测试数学似乎是正确的,但实际上它需要更长的时间.

见jsfiddle:http://jsfiddle.net/A2DNN/

注意变量"per"和"ms",这基本上告诉它每隔"ms"毫秒处理"每"字数.

在日志中,您将看到它将在1 ms内处理1个字,这将导致更快的加载时间.

所以我只是想知道,CPU是否可能在这里形成瓶颈?因为JS正在将项目淡入视图,这是由CPU处理的,这在图形处理方面不是很快.

这听起来几乎是愚蠢的,我希望这些天CPU会嘲笑这样的一小部分工作量.

javascript cpu performance jquery

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