最近我遇到了一段代码,其中我找到了一个只有常量的接口.并且使用静态导入在类中访问这些常量.常数更多(约30至50).
就个人而言,我认为这不是一个好习惯.这就是为什么它根据Effective Java被称为Constant Interface Antipattern.我没有找到任何有理由去进行这种编码.
此外,仅当我们的应用程序中的许多类导入的常量很少时,才应使用静态导入.
如果有任何其他充分的理由去寻找常数界面,请问有谁能告诉我吗?
我正在创建一个多租户Asp.Net MVC 3 Web应用程序,并首先使用EF4.1代码进行数据库模型.
对于开发,我很高兴在App_Data中使用SqlServerCE,为了生产,这将转移到Sql Server 2008.
说我的情况下被称为"MyModels",默认情况下,代码首先查找名为Web.config中"MyModels"的连接字符串.这可以被告知使用App_Data中的文件或更改为访问SQL2008中的数据库.到目前为止都很好.
但由于多租户,我希望SqlServerCE文件名匹配租户的唯一ID(因此App_Data将具有"client_x.sdf","client_y.sdf"; Sql Server 2008将具有单独的数据库).我无法弄清楚如何指向这些不同的数据库.
我已经尝试从DbContext继承并提供连接字符串的MyModel(在Web.config中使用'占位符'conn字符串并用唯一的id替换"{clientId}"),我也尝试在其中设置连接字符串MyModels构造函数:
base.Database.Connection.ConnectionString = xxx;
Run Code Online (Sandbox Code Playgroud)
但这似乎永远不会奏效.我总是得到以下错误:
建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)
(这表明它尚未"配置"使用SqlServerCE,因此尝试连接到Sql Server.我想!)
跟踪代码,此时尚未从Web.config中读取Database.Connection.ConnectionString,因此我无法搜索和替换它,并且可能会在管道中稍后被'占位符'conn字符串覆盖.
我认为这一定非常简单,我找不到'钩子'.有人可以帮忙吗?
我的代码有问题,好像PHP和Javascript正在返回不同的Unix纪元时间..
我在Javascript中的代码是这样的:
day = 13;
month = 4;
year = 2011;
hour = 15;
minute = 10;
date = new Date(year, month - 1, day, hour, minute, 0);
dateseconds = date.getTime();
Run Code Online (Sandbox Code Playgroud)
dateseconds返回1302678600000
但在我的PHP代码中我使用这个:
$day = 13;
$month = 4;
$year = 2011;
$hour = 15;
$minute = 10;
$date = mktime($hour, $minute, 0, $month - 1, $date, $year);
$dateseconds = date('U', $date);
Run Code Online (Sandbox Code Playgroud)
PHP中的dateseconds返回较小的时间:1302678600
它类似,但似乎Javascript返回更大的时间..
如何使它们相似?
我有以下功能.我想在用户点击超链接(取消激活我的帐户)时调用此功能.在href点击上调用函数的最佳方法是什么?谢谢
function deleteUserMeta($userID) {
delete_usermeta($userID, 'subscription_id');
delete_usermeta($userID, 'ref_id');
delete_usermeta($userID, 'users_name');
delete_usermeta($userID, 'trans_key');
}
Run Code Online (Sandbox Code Playgroud) 我有一个按排名顺序显示的标签表.为确保没有两行可以具有相同的排名,它们的值是唯一的:
create table label (
id_label serial not null,
rank integer not null,
title text not null,
constraint pri primary key (id_label),
constraint unq unique (rank)
)
Run Code Online (Sandbox Code Playgroud)
无论是PostgreSQL还是MySQL,它们都表现出相同的行为.查询可能看起来像select title from label order by rank
.假设该表包含:
id_label rank title
1 10 Cow
2 20 Apple
3 45 Horse
4 60 Beer
Run Code Online (Sandbox Code Playgroud)
现在假设我想重新排序两个标签,例如让Apple排在Cow之前.最简单的方法是交换他们的等级值:
update label
set rank = case when rank = 20 then 10 else 20 end
where id_label in (1,2)
Run Code Online (Sandbox Code Playgroud)
不.也不:
update label
set rank = case when rank …
Run Code Online (Sandbox Code Playgroud) 我见过很多相关问题,但没有找到答案.
我已经通过paypal成功实现了交易,但现在我被要求通过paypal实现定期付款.我搜索过但找不到任何可以帮助我实现这一目标的材料.
首先是我实施的内容.我要求用户选择金额.用户选择金额,我将用户转移到paypal,在那里他输入他的信息并进行交易.成功交易后,我向用户显示交易ID并将ipn信息和用户信息存储在我的数据库中.
现在我想给用户一个选项,选择是或否选择定期付款.如果用户选择定期付款,那么他的定期付款将使用他在上面选择的金额来完成.
现在我想知道:
我有WCF服务器和WCF客户端.当部署新版本的客户端时,我想检查它是否已准备好运行,因此我必须检查服务器是否在线.
我不想做任何真正的服务器调用(因为调用可以更改生产数据)或在服务器上创建空的{...}"测试"方法,什么都不做.
是否可以检查WCF服务器端点是否存在并在没有方法调用的情况下侦听连接?
我试过了:
factory = new ChannelFactory<IServer>())
factory.CreateChannel();
Run Code Online (Sandbox Code Playgroud)
和
factory = new ChannelFactory<IServer>())
factory.Open();
Run Code Online (Sandbox Code Playgroud)
但是如果服务器处于脱机状态则没有例外.如何在没有服务器方法调用的情况下检查服
先感谢您!
我已经为Ad-Hoc Distribution/AppStore提交创建了分发证书和分发配置文件.我已在Info.plist,Entitlements文件,Targets - > Build of the project中进行了所有必要的更改.我收到了一个错误.我附上了这个错误的屏幕截图.
这个错误似乎正在发生,因为我目前没有匹配iphone发行版的配置文件.它显示"配置文件与默认钥匙串中的任何有效证书/私钥对不匹配".我检查了证书及其有效期.
密钥链访问中存在的私钥是否存在问题?如果是这样的话,请提出解决方案.
此代码循环遍历mysql表并打印出空/空字段.然而,它打印数组值和这样的键
Array (
[0] => Field "dob" on entry "1" is empty/null
[1] => Field "user_name" on entry "7" is empty/null
)
Run Code Online (Sandbox Code Playgroud)
我该如何打印这样的东西 field "dob" on entry "1" is empty/null
$sql = "SELECT * FROM userinfo";
$res = mysql_query($sql);
while ($row = mysql_fetch_array($res)) {
foreach($row as $key => $field) {
if(empty($field)) {
$emptyFields[] = sprintf('Field "%s" on entry "%d" is empty/null', $key, $row['userid']);
}
}
}
print_r($emptyFields);
Run Code Online (Sandbox Code Playgroud)