解决问题的最佳方法是什么?用户输入和编辑字符串"汤姆有一只狗".我希望模型和数据库存储"tom"和"有一只狗"作为单独的字段.我记得在处理电话号码字符串时解决了这个问题,但我不记得我是怎么回事.
如果我使用C#通过互联网将文件从计算机A传输到计算机B,使用.NET中的一种方法进行文件传输,那么判断计算机A和计算机B上的文件是否相同的最佳方法是什么?
我在想MD5哈希是一个很好的方式.这似乎是一种被广泛接受的方式.但是,我只是仔细检查一下,看看.NET框架中是否有更好的方法.
谢谢托尼
我正在评估git-svn并尝试确定它与特定svn存储库的效果.我主要关心的是让git-svn执行合并,以便在subversion repo中正确设置svn:mergeinfo属性.这可能吗?
这是我到目前为止所做的:
# Checkout the SVN repo.
$ git svn clone svn://server/project1 -T trunk -b branches -t tags
# Make sure we are working on trunk.
$ git reset --hard remotes/trunk
# Modify the working copy.
$ vim file.txt
# Commit locally to the git repo.
$ git commit -a
# Push the commits back to the SVN server.
$ git svn dcommit
Committing to svn://server/project1/trunk ...
M file.txt
Committed r178
M file.txt
r178 = b6e4a3a0c28e7b9aa71d8058d96dcfe7c8a2b349 (trunk)
Run Code Online (Sandbox Code Playgroud)
现在,我将如何将该特定提交合并到一个subversion分支中?同样,对我来说非常重要的是git在提交更改时正确设置了svn:mergeinfo属性.
我们的服务器应用程序每天以1000-2000行的速率接收有关要添加到数据库的行的信息.表中有两个互斥的列,用于唯一标识一行:一个是名为"tag"的数字标识符,另一个是名为"longTag"的50字符串.一行可以有标签或longTag; 不是都.
从套接字进入的每一行可能已经存在,也可能不存在于表中.如果存在,则必须使用新信息更新该行.如果它不存在,则必须添加.我们使用SQL 2005,在少数情况下甚至使用SQL 2000,因此我们无法使用新的MERGE关键字.
我现在这样做的方法是构建一个巨大的DELETE语句,如下所示:
DELETE from MyRecords
WHERE tag = 1
OR tag = 2
OR longTag = 'LongTag1'
OR tag = 555
Run Code Online (Sandbox Code Playgroud)
...每个传入的行都有自己的'OR tag = n'或'OR longTag ='x''子句.
然后,我使用ISQLXMLBulkLoad执行XML批量加载,一次加载所有新记录.
巨大的DELETE语句有时会超时,需要30秒或更长时间.我不知道为什么.
当记录从套接字进入时,它们必须插入或者必须替换现有的行.我这样做是最好的方式吗?
编辑:新行与替换行的比率将非常倾向于新行.在我看到的生产数据中,每次修正通常会有100-1000个新行.
编辑2:插入和删除都必须作为单个事务处理.如果插入或删除失败,则必须同时回滚它们,使表处于插入和删除开始之前的状态.
编辑3:关于NULL标签.我需要先简要介绍一下系统.这是一个交易系统的数据库.MyTable是一个包含两种交易的交易表:所谓的"日间交易"和所谓的"开仓".日间交易只是交易 - 如果您是期权交易者并且您进行了交易,那么该交易将是该系统中的日间交易.开盘头基本上是您的投资组合的摘要,直到今天.开仓和日内交易都存储在同一个表中.日间交易有标签(longTags或数字标签),而开仓位则没有.开仓时可能有重复的行 - 这很好且正常.但是,日交易不能有重复的行.如果日间交易与数据库中已存在的某个记录具有相同的标记,则表中的数据将替换为新数据.
因此tag和longTag中的值有4种可能性:
1)tag为非零且longTag为空:这是一个带有数字标识符的日间交易.2)tag为零,longTag具有非空字符值.这是一个带有字母数字标识符的日间交易.3)tag为零,longTag为空:这是一个开放位置.4)标签非零,longTag具有非空字符值.这可以防止我们的服务器软件发生的每一件事,但如果它发生了,那么longTag将被忽略,它将被视为与案例#1相同.同样,这不会发生.
我有一个类,我们称之为LineGraph,它呈现一个折线图.我需要对它进行子类化,但派生类仅在一个地方使用,并且与使用它的类耦合.所以我使用内部类.
我看到两种方法:
匿名内部阶级
public class Gui {
LineGraph graph = new LineGraph() {
// extra functionality here.
};
}
Run Code Online (Sandbox Code Playgroud)
命名内部类
public class Gui {
MyLineGraph graph = new MyLineGraph();
private class MyLineGraph extends LineGraph {
// extra functionality here.
}
}
Run Code Online (Sandbox Code Playgroud)
我不是匿名内部阶级的粉丝,因为坦率地说,我认为它看起来真的很难看.但是在一个仅在一个地方使用的子类的情况下,命名的内部类是否过度杀伤?什么是公认的做法?
我理解需要将Web服务器放在DMZ中并阻止除80和443之外的所有端口的入站流量.我还可以看到为什么在服务器受到威胁时您应该也阻止大多数出站流量.
但是有必要阻止端口80上的出站HTTP流量吗?如果是这样,为什么?如今,许多Web应用程序依赖于从外部Web服务和API发送/检索数据,因此阻止端口80上的出站流量将阻止此功能.是否存在一个足以证明这一点的安全问题?
我想学习如何编程计算机.我觉得我对计算机比一般人更有经验,我每天都使用命令提示符,我知道如何在命令提示符下访问命令行,但我不知道应该从哪个程序开始,用什么语言使用.下载某种语言或使用我的计算机上的某个程序(如命令行或vbscript)会更好吗?
我今天早上下载了C#,已经编写了两个程序.他们是小型的控制台程序,但我学得很快,熟悉这门语言.
我正在尝试编写一个自定义模型绑定器,但我很难设法如何绑定复杂的复合对象.
这是我想要绑定的类:
public class Fund
{
public int Id { get; set; }
public string Name { get; set; }
public List<FundAllocation> FundAllocations { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这就是我尝试编写自定义绑定器的方式:
public class FundModelBinder : IModelBinder
{
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
throw new NotImplementedException();
}
public object GetValue(ControllerContext controllerContext, string modelName, Type modelType, ModelStateDictionary modelState)
{
var fund = new Fund();
fund.Id = int.Parse(controllerContext.HttpContext.Request.Form["Id"]);
fund.Name = controllerContext.HttpContext.Request.Form["Name"];
//i don't know how to bind to the list property :(
fund.FundItems[0].Catalogue.Id …Run Code Online (Sandbox Code Playgroud) 更新4/8/09 - 我进入了一个新的一周,没有任何进展,也没有来自Facebook论坛的答案.在那里没有一个回应,这是非常令人失望的.我也无法弄清楚如何在这个问题上给予赏金,但我真的非常希望能够解决这个问题.
我看了很多帖子,看看之前是否发布过,但事实并非如此.这是简短的版本:
我将通过示例FB Connect教程(v1),并且无法在Win7上的IE8中使其工作.它在Win7上的FF3上按预期工作.
长版:
我很惊讶事情没有用,因为我几乎复制并粘贴了内容.我通过alert()javascript调用跳过了这一点,所以我把它放进去看看解析器是否达到了这个目的.我把以下代码放入:
[my raw html]
Or use, <fb:login-button length="long" onlogin="alert('yo!!!');"></fb:login-button>
[/my raw html]
Run Code Online (Sandbox Code Playgroud)
警报不会弹出IE8.它适用于FF.
当我改回调用update_user_box()时,我的HTML看起来像:
Or use, <fb:login-button length="long" onlogin="update_user_box();"></fb:login-button>
<script type="text/javascript">
function update_user_box() {
var user_box = document.getElementById("user");
user_box.innerHTML =
"<span>"
+ "<fb:profile-pic uid='loggedinuser' facebook-logo='true'></fb:profile_pic>"
+ "Welcome, <fb:name uid='loggedinuser' useyou='false'></fb:name>."
+ "You are signed in."
+ "</span>"
FB.XFBML.Host.parseDomTree();
}
FB.init("23e24c73feed7ca0f6afd876575842de", "../../Connect/xd_receiver.htm", { "ifUserConnected": update_user_box });
</script>
Run Code Online (Sandbox Code Playgroud)
再次,这在FF3中工作就好了.我的照片显示了一切.它实际上让我更加不高兴它在FF3中工作而不是完全没有工作的情况.
以下是IE8中见证的行为:
当我点击FBConnect按钮时.弹出javascript窗口并加载正确的登录页面
焦点更改回主窗口(与我的应用程序一起)
IE8主窗口(我单击连接按钮的窗口)现在显示了一个facebook登录页面.
当我将我的凭据输入FB javascript窗口时,页面会加载该页面的空白文档URL:http:// localhost:55994/Connect/xd_receiver.htm?fb_login&fname = _opener&session =%7B%22session_key%22%3A%223 .A4DpHk4nrKHooB7K_Q6EiA __.86400.1238796000-623225%22%2C%22uid%22%3A%22623225%22%2C%22expires%22%3A1238796000%2C%22secret%22%3A%22HtjtJS_xg8dX7TR7lLggew __%22%2C%22sig%22%3A%22ae12c0f98d4567612b70861314d42fbb %22%7D
查看该页面的来源: …
我正在使用DOM来管理我正在运行的AJAX函数的JSON响应.我正在编写的脚本需要完全可移植,因此我正在为动态创建元素定义样式(意思是,没有链接到外部CSS,也没有在HTML文档本身提供CSS,因为我不会控制文件).
我想在一些元素上创建一个悬停效果.
例:
#myDiv:hover { background:#000000; }
有没有办法在DOM中定义它?或者我必须使用mouseover?
asp.net-mvc ×2
asp.net ×1
c# ×1
class ×1
command-line ×1
css ×1
dom ×1
facebook ×1
file ×1
firewall ×1
git ×1
git-svn ×1
html ×1
http ×1
inheritance ×1
java ×1
javascript ×1
merge ×1
modelbinders ×1
oop ×1
performance ×1
security ×1
sql-server ×1
svn ×1
sysadmin ×1
t-sql ×1
vbscript ×1