小编Bra*_*nov的帖子

如何解决ActionScript 3(AS3)中的闭包问题

在下面的代码中,我试图加载一些图像,并在它们单独加载后立即将它们放入舞台.但它被窃听,因为只显示最后一张图像.我怀疑这是一个关闭问题.我该如何解决?AS3中的闭包行为与Java Script中的行为不一样吗?

var imageList:Array = new Array();
imageList.push({'src':'image1.jpg'});
imageList.push({'src':'image2.jpg'});
var imagePanel:MovieClip = new MovieClip();
this.addChildAt(imagePanel, 0);

for (var i in imageList) {
    var imageData = imageList[i];
    imageData.loader = new Loader();

    imageData.loader.contentLoaderInfo.addEventListener(
        Event.COMPLETE, 
        function() {
            imagePanel.addChild(imageData.loader.content as Bitmap);
            trace('Completed: ' + imageData.src);             
        });

    trace('Starting: ' + imageData.src);
    imageData.loader.load(new URLRequest(imageData.src));   
}
Run Code Online (Sandbox Code Playgroud)

apache-flex flash closures actionscript-3

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

如何使用C#锁定文件?

我不确定人们通常通过"锁定"文件意味着什么,但我想要的是对我将尝试用另一个文件打开它时会产生"指定文件正在使用"的文件执行该操作应用.

我想这样做来测试我的应用程序,看看当我尝试打开处于此状态的文件时它的行为.我试过这个:

FileStream fs = null;

private void lockToolStripMenuItem_Click(object sender, EventArgs e)
{
    fs = new FileStream(@"C:\Users\Juan Luis\Desktop\corte.txt", FileMode.Open);
}

private void unlockToolStripMenuItem_Click(object sender, EventArgs e)
{
    fs.Close();
}
Run Code Online (Sandbox Code Playgroud)

但显然它并没有达到我的预期,因为我能够在"锁定"时用记事本打开文件.那么如何锁定文件以便无法使用其他应用程序打开它以进行测试?

c# io

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

对ASP.NET站点的更改是否会终止活动会话?

我担心我的用户会话被扫除的可能性.我正在使用默认的ASP.NET会话对象和会话cookie.我知道会话可以超时,我已将会话的超时值设置为几个小时,以避免意外超时.

但至少有两个我担心的案例.

(1)我理解ASP.NET会定期回收运行站点/ Web应用程序的应用程序域(不确定我的所有术语是否正确).在这些回收活动中进行会话吗?

(2)至少在我的开发服务器上,我对站点所做的某些更改(例如,添加新页面)似乎会导致活动会话在重新编译站点(或其中一部分)时丢失.这种情况似乎不会随着每次变化而发生,但有很多变化.我特别关注这对于我的网站上线时可能发生的变化意味着什么.我想知道我可以更新的规则,而不会导致活动会话被杀死.

谢谢你的任何指示.

asp.net asp.net-mvc upgrade

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

在Java/Android中高效过滤ArrayList

我正在开发一个Android应用程序(Android 1.6),但这可能是一个更普遍的Java问题.

我有一个大约10,000个对象的ArrayList

对象包含3个字符串(firstName,middleName,lastName).

在android上向用户呈现"搜索框",他们可以通过键入部分名称来搜索特定的"对象".

我有一个类(我称之为Filterer),它在10,000个列表中搜索匹配的对象,然后将它们作为"子列表"返回.

搜索有点慢(特别是在Android手机上),我确信我没有以最有效的方式进行搜索/过滤.

有没有人对如何加快搜索有任何建议?我的代码如下.一种可能性来搜索已经包含小写和连接的每条信息的辅助"masterList"......但是可能有其他方法来改进这种搜索也会有所帮助.

TIA!

public void filterNames() {
  this.filteredList.clear();
  String sv = this.searchString.toString.trim().toLowerCase(); // search value
  for (int i = 0; i < this.masterList.size(); i++) {
    MyObject d = this.masterList.get(i);
    String fn = d.getFirstName().toString().toLowerCase();
    String mn = d.getMiddleName().toString().toLowerCase();
    String ln = d.getLastName().toString().toLowerCase();

    if (fn.indexOf(sv) >= 0 || 
        md.indexOf(sv) >= 0 || 
        ln.indexOf(sv) >= 0) {
      this.currentList.add(d);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

java android arraylist filter

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

ValidateRequest = False但是在行动中它仍然是True而忽略了吗?

我希望在ASP.NET MVC 2.0 RTM中的特定视图上禁用RequestValidation.所以我添加了一些查看Page指令部分所需的内容,如下所示:

<%@ Page ValidateRequest="false" Language="C#" MasterPageFile="Path" Inherits="System.Web.Mvc.ViewPage<Path>" %>
Run Code Online (Sandbox Code Playgroud)

RequestValidation未禁用!我还将RequestValidation属性添加到控制器中的相关操作,如下所示:

[System.Web.Mvc.ValidateInput(false)]
public System.Web.Mvc.ActionResult Create(Model instance)
{
    //Do here something
}
Run Code Online (Sandbox Code Playgroud)

:')但RequestValidation也没有禁用!

在最后一次尝试我在Web.config文件中将RequestValidation设置为false,如下所示:

<pages validateRequest="false" />
Run Code Online (Sandbox Code Playgroud)

RequestValidation仍然没有关闭!

为什么?提前致谢 ;)

asp.net validation asp.net-mvc

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

多重约束违反了SQL Server 2008 - CodeFirst

我正在努力解决一个非常乏味的问题.我有一个名为Nation的类和一个名为NationAlly的类

public class Nation   
{
    public int ID {get; set;}
    public int name {get;set;}
    public List<NationAlly> NationAllies {get;set;}
}

public class NationAlly
{
    public int ID {get; set;}
    public int level {get;set;}
    public Nation toNation {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

我正在使用EF 4和CodeFirst与一个名为NationsDB的DbContext来管理我在SQL Server 2008上的数据库.如果我创建一个Nation类型的新对象,我尝试调用countriesDB.SaveChanges,我得到以下异常:

"违反了多重约束.关系'CodeFirstNamespace.NationAlly_toNation'的角色'NationAlly_toNation_Target'具有多重性1或0..1."

我试图用NationAllies字段保存Nation字段为null并且不抛出此异常,数据库中的country表获取所有正确的值.

在我的数据库中,表Nation有2个字段:ID(主键),名称表NationAlly有3个字段:ID(主键),level,NationID这两个表链接的关系是NationAlly.NationID是外键和Nation .ID是主键.

不奇怪吗?在我眼中,NationAlly表应该有一个名为NationID1的字段,另一个叫做NationID2,以创建一个国家和其他国家名单之间的"关系".

我做错了什么?

entity-framework code-first sql-server-2008

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

在循环中构建查询,实体框架奇怪的行为

我在我的Entity Framework repo上创建了这个搜索方法:

public IEnumerable<Person> GetPersonsWithFilter(string filter)
{
    var items = 
        filter.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
    var query = _personRepo.All();  // Return IQueryable<Person>

    foreach (var item in items)
    {
        query = query.Where(i => i.SearchName.Contains(item.ToLower()));
    }

    query.TraceSql(i => Logger.Error(i));
    return query.Take(50);
}
Run Code Online (Sandbox Code Playgroud)

TraceSql输出生成的sql.如果我的过滤器是"John Landheer",则正确生成sql:

SELECT   [Extent1].[PersonId] AS [PersonId] // Other fields deleted for readability
FROM [dbo].[Person] AS [Extent1]  
WHERE 
(( CAST(CHARINDEX(LOWER(@p__linq__0), [Extent1].[SearchName]) AS int)) > 0) 
AND 
(( CAST(CHARINDEX(LOWER(@p__linq__1), [Extent1].[SearchName]) AS int)) > 0)  
Run Code Online (Sandbox Code Playgroud)

但是,参数是相同的:@p_ linq _0 ='landheer'和@p_ linq …

c# linq-to-entities entity-framework

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

ASP.NET MVC将datetime作为查询传递

我如何传递日期时间,例如01/01/2011 21:01:34作为查询字符串?

我正在建立一个剧院预订网站,当我观看表演时,我目前通过了演出和场地,但也需要通过日期(因为这是演出的独特部分)

ActionResult看起来像这样:

public ActionResult Details(String name, String venue, String date)
{
    return View(_repository.performanceDetails(name, venue, date));
}
Run Code Online (Sandbox Code Playgroud)

但是performanceDate不会工作,因为它是一个日期时间数据类型!我需要做的是删除数据的时间部分,例如00:00:00并以某种方式将剩余数据作为字符串传递,我可以用它来比较,如下所示:

public PerformanceDetails performanceDetails(String name, String venue, String date)
{
    var PerformanceDetails = (from s in _db.PerformanceDetails
                              where s.show == name && 
                                    s.venue == venue && 
                                    s.performanceDate == date
                              select s).First();
    return PerformanceDetails;
}
Run Code Online (Sandbox Code Playgroud)

这是一个示例链接:

<%= Html.ActionLink("View Details", "Details", "Performances", 
                    new { 
                        name = item.show, 
                        venue = item.venue, 
                        date = item.performanceDate }, 
                    new {@class = "button"}) …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc

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

在Asp.Net Membership中手动更改用户名

我可以通过直接访问asp.net成员资格用户表来更改用户名.但是,旧用户名保留在新行中,并由asp.net自动分配新的UserID.我如何阻止这种情况发生?

编辑:仅在users表和角色表中,而不是在成员资格表中.

var mUser = dc.aspnet_Users
            .Where(u => u.UserId == (Guid)user.ProviderUserKey)
            .Select(u => u).SingleOrDefault();

mUser.UserName = newName;
mUser.LoweredUserName = newName.ToLower();

try
{
    dc.SubmitChanges();
}
catch
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

asp.net

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

如何以声明方式将spark State的name属性设置为字符串变量值

我有以mxml声明的spark状态.我也有一个字符串常量的类.我希望我的状态名称匹配字符串常量.是否可以直接在mxml中执行此操作以及如何执行此操作?我不想使用相同的字符串,我想将name属性设置为常量的值.

码:

public static const create:String = 'create';
public static const edit:String = 'edit';
Run Code Online (Sandbox Code Playgroud)

MXML:

<s:State name="new"/>
<s:State name="edit"/>
Run Code Online (Sandbox Code Playgroud)

据我所知,状态名称需要在编译时处理,所以可能不可能.

apache-flex mxml actionscript-3

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