小编Dan*_*fer的帖子

如何在Java中克隆org.json.JSONObject?

有没有办法克隆一个实例org.json.JSONObject而不对其进行字符串化并重新分析结果?

浅拷贝是可以接受的.

java json org.json

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

IIS应用程序池 - 停止/启动与回收

我注意到在我的一个生产网络应用程序中,当我手动回收应用程序池时,基于在任务管理器中观察,回收的工作进程可能需要超过60秒以实际完全销毁.但是,如果我完全停止应用程序池,则工作进程几乎立即消失 - 在1-2秒内消失.

所以,我的问题是双重的:

a)当应用程序池被回收而不是停止时,为什么要花费这么长时间来销毁进程(更有意义的是,释放由它使用/锁定的资源); 和

b)假设我已经阻止流量被定向到服务器,是否有任何理由不停止/启动而不是回收?


编辑:
为了澄清,在我回收或停止应用程序池之前,我阻止流量被发送到有问题的服务器(服务器在负载平衡群集中,我从负载均衡器中删除服务器).因此,理论上,在我对应用程序池执行任何操作时,不应该向网站发出请求.


编辑Part Deux:
在阅读Igal的链接后,对我来说似乎很明显发生了什么.当我回收应用程序池时,新进程已启动,但由于根本没有流量,因此它没有将新进程注册为正常运行,因此在超时之前它不会关闭旧进程(即90秒).

有了这些知识,我很清楚"回收"功能专门用于在实时服务器的中游使用,并且因为我事先手动排出流量,所以我应该使用停止/启动.

iis worker-process application-pool recycle

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

ASP.NET MVC:使用JsonResult控制属性名的序列化

有没有办法控制JsonResult带属性的JSON输出,类似于你如何使用它们XmlElementAttribute以及它的bretheren来控制XML序列化的输出?

例如,给定以下类:

public class Foo
{
    [SomeJsonSerializationAttribute("bar")]
    public String Bar { get; set; }

    [SomeJsonSerializationAttribute("oygevalt")]
    public String Oygevalt { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想得到以下输出:

{ bar: '', oygevalt: '' }
Run Code Online (Sandbox Code Playgroud)

相反:

{ Bar: '', Oygevalt: '' }
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc serialization json

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

在Visual Studio中更改默认的XML注释片段

当我在Visual Studio中按///时,是否可以从此更改生成的代码段:

/// <summary>
/// 
/// </summary>
Run Code Online (Sandbox Code Playgroud)

对此?:

/// <summary></summary>
Run Code Online (Sandbox Code Playgroud)

xml-comments visual-studio code-snippets

23
推荐指数
2
解决办法
7608
查看次数

对称密钥存储

我的公司将为我们的客户存储敏感数据,并将使用其中一个托管的.NET加密算法类加密数据.大部分工作已经完成,但我们还没有弄清楚如何/在哪里存储密钥.我做了一些轻松的搜索和阅读,似乎硬件解决方案可能是最安全的.有没有人对密钥存储解决方案或方法有任何建议?


感谢您的回复,大家.

spoulson,问题实际上是你提到的"范围".我想我应该更清楚一点.

数据本身以及加密和解密它的逻辑被抽象为ASP.NET配置文件提供程序.此配置文件提供程序允许加密的配置文件属性和纯文本属性.加密属性值的存储方式与纯文本值完全相同 - 除非它们已加密.

也就是说,密钥需要能够被召唤出于以下三个原因之一:

  1. 在授权服务器上运行的授权Web应用程序需要加密数据.
  2. 与#1相同,但用于解密数据.
  3. 我们业务团队的授权成员需要查看加密数据.

我想象的方式是没有人会真正知道密钥 - 会有一个软件控制数据的实际加密和解密.也就是说,钥匙仍然需要来自某个地方.

完全披露 - 如果你还不能说,我以前从未做过这样的事情,所以如果我完全不了解我应该如何运作,那么请告诉我.

security symmetric-key key-storage

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

是否有可以在URL上传递的标准日期/时间格式?

查看DateTimeFormatInfo文档,看起来所有标准格式都包含冒号,这使得它们在网址上传递不愉快/不可能.

是否有一种标准化格式用于在URL上传递日期时间,最好是可以由.NET自动解析的格式?


更新:稍微澄清一下

这些数据的使用者将是某种类型的Web服务 - 它可以是在查询字符串中具有此值的简单HTTP GET,也可以是具有url中某个值的REST的REST.

ISO 8601管理日期/时间格式,根据维基文章,使用ToString("yyyyMMddTHHmmssZ")至少应符合标准.不幸的是,它没有被ASP.NET MVC自动拾取(还没有尝试过其他任何东西).对于它的价值,ASP.NET MVC也不会自动将刻度转换为日期时间,这让我感到惊讶.

.net url datetime

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

如何在结构构造函数中设置自动属性支持字段的值?

给出这样的结构:

public struct SomeStruct
{
    public SomeStruct(String stringProperty, Int32 intProperty)
    {
        this.StringProperty = stringProperty;
        this.IntProperty = intProperty;
    }

    public String StringProperty { get; set; }
    public Int32 IntProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

当然,会生成一个编译器错误,其中包含"this"对象在分配所有字段之前无法使用.

有没有办法为支持字段或属性本身分配值,或者我是否必须使用我自己的显式支持字段以老式方式实现属性?

c# constructor struct backing-field

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

C# - 在工作日开始的情况下,获得一个月内周列表的最佳方法是什么?

我需要得到一个月的周列表,周一作为开始日.

例如,对于2009年2月,此方法将返回:

2/2/2009
2/9/2009
2/16/2009
2/23/2009
Run Code Online (Sandbox Code Playgroud)

c# datetime

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

我是否需要为开源项目保护我的强名称密钥文件?

我正在创建一个入门工具包,它将已编译的程序集从开源项目安装到GAC中,以便更容易地引用模板中的程序集.由于他们将加入GAC,因此需要签署.

我是否需要密码保护并保护密钥文件,或者是否可以将其保持打开并将文件包含在源代码管理中?

c# open-source gac assembly-signing

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

Why isn't Guid.ToString("n") the same as a hex string generated from a byte array of the same guid?

Consider the following unit test:

    [TestMethod]
    public void TestByteToString()
    {
        var guid = new Guid("61772f3ae5de5f4a8577eb1003c5c054");
        var guidString = guid.ToString("n");
        var byteString = ToHexString(guid.ToByteArray());

        Assert.AreEqual(guidString, byteString);
    }

    private String ToHexString(Byte[] bytes)
    {
        var hex = new StringBuilder(bytes.Length * 2);
        foreach(var b in bytes)
        {
            hex.AppendFormat("{0:x2}", b);
        }
        return hex.ToString();
    }
Run Code Online (Sandbox Code Playgroud)

Here's the result:

Assert.AreEqual failed. Expected:<61772f3ae5de5f4a8577eb1003c5c054>. Actual:<3a2f7761dee54a5f8577eb1003c5c054>.

c# hex guid

13
推荐指数
2
解决办法
8480
查看次数