问题列表 - 第9038页

集合值在for循环中更改

我有一些代码,我过去几天一直在为朋友工作.在较高级别,它解析文本文件并写入MDB.简而言之,我有一对嵌套的循环对这些项目进行一些处理.内部循环仅在某些情况下被调用,但是当它发生时,它正在做一些奇怪的事情.

ArrayList CaseRecordItems = new ArrayList(); // this is created earlier
string baseTif = "sometext_"; // this is created earlier
CaseRecord cr = new CaseRecord(); (this gets populated with "stuff")
char increment = 'A';

for (int i = 0; i < FirstNames.Count; i++)
{
    cr.Firstname = (string)FirstNames[i];
    cr.Lastname = (string)LastNames[i];
    if (FirstNames.Count > 1)
    {
        cr.Tif = baseTif + increment.ToString();
        increment++;
    }
    CaseRecordItems.Add(cr);
}
Run Code Online (Sandbox Code Playgroud)

该循环运行两次,并应将cr.Tif的值设置为sometext_A和sometext_B.这可以正常工作,但是一旦将第二个项目添加到集合中,第一个项目的值就会更改为与之匹配.

我怀疑这是由于我不了解这些对象如何被实例化和传递.任何见解将不胜感激.

编辑:

基于令人敬畏的反馈(和我的麻木 - 坚果),问题已得到解决.感谢Dan的回答,我在使用克隆功能之前对我尝试过的代码进行了一些更改(是的,我实际尝试过的海滩:P).

新块看起来像这样:ArrayList CaseRecordItems = new ArrayList(); //这是先前创建的字符串baseTif ="sometext_"; //这是先前创建的CaseRecord cr = …

c# collections loops for-loop

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

Frame Buster Buster ......需要buster代码

假设您不希望其他网站在以下位置"构建"您的网站<iframe>:

<iframe src="http://example.org"></iframe>
Run Code Online (Sandbox Code Playgroud)

因此,您将反框架,帧破坏JavaScript插入到您的所有页面中:

/* break us out of any containing iframes */
if (top != self) { top.location.replace(self.location.href); }
Run Code Online (Sandbox Code Playgroud)

优秀!现在你自动"破解"或突破任何包含iframe.除了一个小问题.

事实证明,您的帧破坏代码可能被破坏,如下所示:

<script type="text/javascript">
    var prevent_bust = 0  
    window.onbeforeunload = function() { prevent_bust++ }  
    setInterval(function() {  
      if (prevent_bust > 0) {  
        prevent_bust -= 2  
        window.top.location = 'http://example.org/page-which-responds-with-204'  
      }  
    }, 1)  
</script>
Run Code Online (Sandbox Code Playgroud)

此代码执行以下操作:

  • 每次浏览器尝试通过window.onbeforeunload事件处理程序离开当前页面时,都会递增计数器
  • 设置一个通过每毫秒触发的计时器,setInterval()如果它看到计数器递增,则将当前位置更改为攻击者控制的服务器
  • 该服务器提供具有HTTP状态代码204的页面,这不会导致浏览器在任何地方导航

我的问题是 - 这更像是一个JavaScript拼图,而不是一个实际的问题 - 你怎么能打败破坏框架的破坏者呢?

我有一些想法,但在我的测试中没有任何效果:

  • 试图通过清除onbeforeunload事件onbeforeunload = null …

html javascript iframe framebusting

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

为Cocoa导入<Foundation/Foundation.h>时导入的文件?

只是好奇,什么文件都包括在内时,<Foundation/Foundation.h>或者<Cocoa/Cocoa.h>#import编?框架和/ usr/include中的所有文件?

cocoa objective-c

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

HOWTO如何在不使用URL重定向的情况下将对Apache服务器的请求传输到IIS服务器?

我的Apache 2.2.9在Debian Lenny 5.0.1上运行,带有2个网络接口,一个接口有一个公共IP和主机名,另一个接口没有配置.该机器适用于在LAMP堆栈上运行的服务.

有一台运行IIS 7的Windows Server 2008 SP2计算机可满足我们的ASP.net需求.该盒子可以配置为本地IP或公共IP,也有2个网络接口.

这两个服务器都通过SSL服务,Apache面向公众.

有没有办法在发出https://foo.com/contentfromiis/等请求时,浏览器可以在不使用重定向的情况下从IIS服务器提供内容并转移到https://bar.com/iwastransferedhere/.换句话说,用户不得/经历/任何切换发生.谢谢!

apache iis redirect iis-7 apache2

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

PHP正则表达式模板 - 查找所有出现的{{var}}

我需要一些帮助为我的PHP脚本创建一个正则表达式.基本上,我有一个包含我的数据的关联数组,我想使用preg_replace用真实数据替换一些占位符.输入将是这样的:

<td>{{address}}</td><td>{{fixDate}}</td><td>{{measureDate}}</td><td>{{builder}}</td>
Run Code Online (Sandbox Code Playgroud)

我不想使用str_replace,因为数组可能包含的项目比我需要的多得多.

如果我理解正确,preg_replace能够从正则表达式中获取它找到的文本,并将其替换为数组中该键的值,例如

<td>{{address}}</td>
Run Code Online (Sandbox Code Playgroud)

替换为$ replace ['address']的值.这是真的,还是我误读了php文档?

如果这是真的,有人可以帮我告诉我一个正在解析这个的正则表达式(如果你也解释它是如何工作的话会很感激,因为我对正则表达式还不是很好).

非常感谢.

php regex templates

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

Visual Studio键盘快捷方式滚动方法重载工具提示?

有谁知道用于滚动工具提示中出现的方法重载的键盘快捷键是什么?我现在不得不求助于使用鼠标点击工具提示中的^和v标签,这不是特别有效.

谢谢!

替代文字

keyboard-shortcuts visual-studio

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

C#MVC:MVC Html助手与视图中的直接HTML的性能和优势

我想知道Html助手对C#ASP.NET MVC视图有什么样的性能影响,特别是在设置属性参数时,以及它们总体上有哪些优点(为什么要使用它们?)

使用Html助手:

<%= Html.TextBox("firstName", Model.FirstName, 
    new { @disabled = "disabled", @class = "myCssClass" }) %>
Run Code Online (Sandbox Code Playgroud)

直接Html:

<input type="text" class="myCssClass" name="firstName" 
     disabled="disabled" text="<%= Model.FirstName %>"/>
Run Code Online (Sandbox Code Playgroud)

我有很多页面包含5到15个这样的输入.最重要的是,Html Helpers允许你渲染表单(想想Html.BeginForm())等,这样你最终可能会得到20个甚至更多的Html Helper调用.我认为其中一些也使用反射,例如当您设置上面的禁用属性时.

这样做不会对性能产生巨大影响吗?为什么使用这些助手被认为是更好的做法?请有人给我一个很好的理由:)我想使用它们但我真的担心它们对性能的影响.

使用Html助手有什么真正的好处吗?

c# asp.net-mvc

16
推荐指数
2
解决办法
6475
查看次数

如何从PHP发送GET请求?

我打算使用PHP来满足一个简单的要求.我需要从URL下载XML内容,我需要向该URL发送HTTP GET请求.

我如何在PHP中执行此操作?

php get http

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

在Windows中捕获http/https请求

是否可以在Windows中捕获http/https请求进行过滤?

c# c++ windows hook operating-system

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

为什么HttpApplication构造函数被多次调用

有人可以解释为什么在应用程序启动时会多次调用派生自HttpApplication的自定义类的构造函数吗?

我的代码结构如下:
- global.asax中的My Global类派生自CustomApp类.
- CustomApp类派生自HttpApplication

全球类是在启动时创建的,但是当我把一个断点在构造函数,调用它几次!我以为应该只创建一个Application类的实例?

我错了吗?

UPD:Web服务器确实可以创建多个HttpApplication实例来处理同时进入的多个请求.当您在HttpApplication后代的构造函数中放置断点时,这一点尤其明显.客户端将要处理几个请求(http内容,CSS文件等),并为每个请求服务,Web服务器将创建HttpApp的新实例.所以,在编写应用程序初始化逻辑时要注意这一点.

asp.net httpapplication

21
推荐指数
2
解决办法
5034
查看次数