小编Car*_*ñoz的帖子

如何删除目录中的所有文件和文件夹?

使用C#,如何从目录中删除所有文件和文件夹,但仍保留根目录?

.net c#

621
推荐指数
16
解决办法
60万
查看次数

如何在JavaScript中获取字符串数组的字符串?

如何在JavaScript中获取字符串数组的字符串?

我在想一个像"Hello world!"数组一样的字符串['H','e','l','l','o',' ','w','o','r','l','d','!']

javascript arrays string character-arrays

335
推荐指数
9
解决办法
28万
查看次数

在页面之间传递数据的最佳实践

问题

在我们在项目之间重用的堆栈中,我们在会话中放置了一些过多的数据,用于在页面之间传递数据.这在理论上是好的,因为它可以防止篡改,重放攻击等,但它会产生尽可能多的问题.

会话丢失本身是一个问题,尽管它主要通过实现会话状态服务器(或使用SQL Server)来处理.更重要的是,使后退按钮正常工作非常棘手,而且创建一种情况也是额外的工作,用户可以在三个选项卡中打开相同的屏幕来处理不同的记录.

这只是冰山一角.

大多数这些问题都有解决方法,但是当我磨砺掉时,所有这些摩擦让我觉得使用session在页面之间传递数据是错误的方向.

我真正想要做的是提出一个最佳实践,我的商店可以一直使用它来在页面之间传递数据,然后,对于新的应用程序,替换当前依赖于Session的堆栈的关键部分.

如果最终解决方案不会导致大量的样板管道代码,那也很好.

提出的解决方案

会议

如上所述,严重依赖Session 似乎是一个好主意,但它会打破后退按钮并导致其他一些问题.

可能有办法解决所有问题,但似乎需要做很多额外的工作.

使用会话非常好的一件事是篡改不是问题.与通过未加密的QueryString传递所有内容相比,您最终编写的守护代码更少.

跨页发布

事实上,我几乎没有考虑过这个选择.我有一个问题,它如何使页面紧密耦合 - 如果我开始做PreviousPage.FindControl("SomeTextBox"),这似乎是一个维护问题,如果我想从另一个页面可能没有到达此页面一个名为SomeTextBox的控件.

它似乎也受到其他方面的限制.也许我想通过链接访问该页面.

请求参数

我现在正倾向于这种策略,就像在过去那样.但我可能希望我的QueryString被加密以使其更难以篡改,我也想处理重放攻击的问题.

来自Rolla的4个人,有一篇关于此的文章.

但是,应该可以创建一个HttpModule来处理所有这些并从页面中删除所有加密香肠.果然,Mads Kristensen有一篇文章,他发布了一篇文章.但是,这些评论听起来似乎有极其常见的情况.

其他选择

当然,这不是对选项的详尽看法,而是我正在考虑的主要选项.此链接包含更完整的列表.我没有提到的那些如Cookies和Cache不适合在页面之间传递数据.

在结束...

那么,您如何处理页面之间传递数据的问题?你需要解决什么隐藏的陷阱,是否有任何预先存在的工具可以完美地解决它们?难道你觉得你已经得到了你和完全满意的解决方案?

提前致谢!

更新:以防万一我不够清楚,通过'在页面间传递数据'我正在谈论,例如,将CustomerID密钥从CustomerSearch.aspx页面传递给Customers.aspx,客户将在那里打开并且可以进行编辑.

asp.net encryption webforms query-string

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

使用Eval连接文本

如何Eval("")在asp.net 的开头连接静态文本?

asp.net webforms

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

jquery模板中的<script>标签

背景:

我有这个模板,其中包含来自youtube的视频,其中包含swfobject.

题:

有没有办法包含脚本标签......

<script type="text/javascript">
</script>
Run Code Online (Sandbox Code Playgroud)

在jQuery模板里面?

<script id="filaVideoTemplate" type="text/x-jQuery-tmpl">
    <!-- Some HTML here -->
    <script type="text/javascript">
        <!-- Some javascript here -->
    </script>
</script>
Run Code Online (Sandbox Code Playgroud)

显然它不能直接工作,有没有办法在没有其他脚本内的脚本的情况下实现同样的事情?

javascript ajax script-tag jquery-templates

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

用Java编写线程安全模块计数器

完全免责声明:这不是一个真正的功课,但我标记它是因为它主要是一个自学习练习而不是实际的"工作".

假设我想用Java编写一个简单的线程安全模块计数器.也就是说,如果模数M为3,那么计数器应该0, 1, 2, 0, 1, 2, … 无限循环.

这是一次尝试:

import java.util.concurrent.atomic.AtomicInteger;

public class AtomicModularCounter {
    private final AtomicInteger tick = new AtomicInteger();
    private final int M;

    public AtomicModularCounter(int M) {
        this.M = M;
    }
    public int next() {
        return modulo(tick.getAndIncrement(), M);
    }
    private final static int modulo(int v, int M) {
        return ((v % M) + M) % M;
    }
}
Run Code Online (Sandbox Code Playgroud)

我对此代码的分析(可能有问题)是因为它使用AtomicInteger,即使没有任何显式synchronized方法/块,它也非常安全.

不幸的是,"算法"本身并不完全"工作",因为当tick环绕时Integer.MAX_VALUE,next()可能会返回错误的值,具体取决于模数M.那是: …

java concurrency multithreading thread-safety

17
推荐指数
2
解决办法
6764
查看次数

为什么java -version会返回旧版本?

操作系统:Windows XP

我正在使用yuicompressor-2.4.2压缩一些CSS,然后再上传到我的服务器.但是当我运行它时,会出现以下异常:

Exception in thread "main" java.lang.UnsupportedClassVersionError:
 com/yahoo/platform/yui/compressor/Bootstrap (Unsupported major.minor version 48.0)

所以我认为这是因为JRE.我输入的命令是cmd:java -version

它说:java版"1.3.1_01",但应该说"1.6.0_16",因为我已经安装了最新版本.

我该怎么做才能让Java使用最新版本而不是旧版本?

java

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

Request.ServerVariables ["REMOTE_ADDR"]足够可靠吗?

目前我正在使用Request.ServerVariables ["REMOTE_ADDR"]从客户端获取IP.

调用此方法时我得到了什么保证.或者我应该查看其他ServerVariables?

asp.net ip-address request.servervariables

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

JsonObject模型Facebook SDK

我必须使用facebook c#sdk作为.net 3.5中的新项目,我知道最新版本有4个示例 - 但它也是针对3.5编译的,因此完全可以正常工作.

无论如何,如果我非常愚蠢,请原谅我.但我正在寻找将json对象转换为我的模型,我可以这样做吗?

public ActionResult About()
{
    var app = new FacebookApp();
    JsonObject friends = (JsonObject)app.Get("me/friends");
    ViewData["Albums"] = new Friends((string)friends.ToString());
    return View();
}

public class Friends
{
    public string name { get; set; }
    public string id { get; set; }

    public Friends(string json)
    {
        JArray jObject = JArray.Parse(json);
        JToken jData = jObject["data"];

        name = (string)jData["name"];
        id = (string)jData["id"];
    }
}
Run Code Online (Sandbox Code Playgroud)

这是使用Json.Net.显然这不起作用,我得到的错误是

从JsonReader读取JArray时出错.当前的JsonReader项不是数组:StartObject

我很确定我的方法完全是错误的 - 所以如果有人能提供任何提示,我会非常感激.

c# json json.net .net-3.5 facebook-c#-sdk

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

不可调用的成员'System.Web.HttpRequest.ServerVariables'不能像方法一样使用

我想按如下方式检索价值:

    string server = Request.ServerVariables("SERVER_NAME");
    //Declare the form being accessed ex: Default.aspx
    string url = Request.ServerVariables("URL");
    // Declare the query string in the URL
    string querystring = Request.ServerVariables("QUERY_STRING");
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误:

不可调用的成员'System.Web.HttpRequest.ServerVariables'不能像方法一样使用.

请帮忙找出我的错误.谢谢.

.net c# asp.net

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