小编Mar*_*ulz的帖子

使用System.IO.Compression在内存中创建ZIP存档

我正在尝试使用MemoryStream如下的简单演示文本文件创建ZIP存档:

using (var memoryStream = new MemoryStream())
using (var archive = new ZipArchive(memoryStream , ZipArchiveMode.Create))
{
    var demoFile = archive.CreateEntry("foo.txt");

    using (var entryStream = demoFile.Open())
    using (var streamWriter = new StreamWriter(entryStream))
    {
        streamWriter.Write("Bar!");
    }

    using (var fileStream = new FileStream(@"C:\Temp\test.zip", FileMode.Create))
    {
        stream.CopyTo(fileStream);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我运行此代码,则会创建存档文件本身,但不会创建foo.txt.

但是,如果我MemoryStream直接替换文件流,则会正确创建存档:

using (var fileStream = new FileStream(@"C:\Temp\test.zip", FileMode.Create))
using (var archive = new ZipArchive(fileStream, FileMode.Create))
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

是否可以使用a MemoryStream创建ZIP存档而不用FileStream

.net c# compression zip ziparchive

163
推荐指数
5
解决办法
15万
查看次数

是否有可能在不同的程序集中有两个部分类代表同一个类?

我在名为"MyProject.Data"的项目中有一个名为"Article"的类,它充当我的Web应用程序的数据层.

我有一个名为"MyProject.Admin"的独立项目,它是一个基于Web的管理系统,用于查看/编辑数据,并使用ASP.NET动态数据构建.

基本上我想使用部分类扩展Article类,这样我就可以使用"UIHint"扩展器扩充其中一个属性,这将允许我用FCKEdit控件替换普通的多行文本框.

我的部分类和扩展器看起来像这样:

[MetadataType(typeof(ProjectMetaData))]
public partial class Project
{
}

public class ProjectMetaData
{
    [UIHint("FCKeditor")]
    public object ItemDetails { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如果部分类与原始部分类在同一个项目中 - 即MyProject.Data项目,这一切都可以正常工作.

但是UI行为不应该位于数据层中,而应该位于Admin层中.所以我想把这个类移到MyProject.Admin.

但是,如果我这样做,功能就会丢失.

我的基本问题是:我可以在单独的项目中有2个部分类,但两者都指的是同一个"类"吗?

如果没有,有没有办法完成我正在尝试做的事情,而不将数据层逻辑与UI逻辑混合在一起?

asp.net partial-classes asp.net-dynamic-data

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

在php中将文本字符串拆分为$ first和$ last name

我正在开发一个私人消息系统,允许用户以他们的全名搜索用户,例如:"George Washington".

我有一个名为两个变量$firstname$lastname,并通过相关性(你有多少次传递消息的那个人)的搜索功能的命令结果.我如何获得一个文本字段为"乔治·华盛顿"分成$firstname="George"$lastname="Washington"

php

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

Swift中对象的自动JSON序列化和反序列化

我正在寻找一种方法来自动序列化和反序列化Swift中的类实例.我们假设我们定义了以下类......

class Person {
    let firstName: String
    let lastName: String

    init(firstName: String, lastName: String) {
        self.firstName = firstName
        self.lastName = lastName
    }
}
Run Code Online (Sandbox Code Playgroud)

......和Person实例:

let person = Person(firstName: "John", lastName: "Doe")
Run Code Online (Sandbox Code Playgroud)

JSON表示person将如下:

{
    "firstName": "John",
    "lastName": "Doe"
}
Run Code Online (Sandbox Code Playgroud)

现在,这是我的问题:

  1. 如何序列化person实例并获取上述JSON,而无需手动将类的所有属性添加到转换为JSON的字典中?
  2. 如何反序列化上面的JSON并获取一个静态类型为类型的实例化对象Person?同样,我不想手动映射属性.

以下是使用Json.NET在C#中执行此操作的方法:

var person = new Person("John", "Doe");
string json = JsonConvert.SerializeObject(person);
// {"firstName":"John","lastName":"Doe"}

Person deserializedPerson = JsonConvert.DeserializeObject<Person>(json);
Run Code Online (Sandbox Code Playgroud)

serialization json swift

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

C#怎么可以假==真?见图

我刚遇到了一个令人难以置信的错误.false == true您需要确认/调试此行为的信息是什么?我从来没有见过这样的东西.

在此输入图像描述

  • VS2008 sp1
  • 调试模式| 任何Cpu
  • IIS 7.5

编辑:我做了一个干净 - >重建,仍然是一样的.

这是汇编和寄存器.我不知道怎么读这个,但也许它可以帮助别人.

.net c# debugging visual-studio

27
推荐指数
4
解决办法
2626
查看次数

如何在TypeScript中通过AMD要求jquery

我如何为我的TypeScript模块需要jquery AMD模块.例如,假设脚本的目录结构如下所示:


    jquery-1.8.2.js
    jquery.d.ts
    module.ts
    require.js

我希望从module.ts生成的js文件要求通过require.js加载jquery-1.8.2.js.

目前我有:


    import jquery = module('jquery') 

这导致当前范围中不存在名称"jquery".

requirejs typescript

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

是否在异步ASP.NET MVC 4操作的名称中需要"Async"后缀?

鉴于以下ASP.NET MVC 4控制器操作:

public async Task<ActionResult> FooAsync()
{
    using (var httpClient = new HttpClient())
    {
        var responseMessage = await httpClient.GetAsync("http://stackoverflow.com");
        string response = await responseMessage.Content.ReadAsStringAsync();

        return Content(response);
    }
}
Run Code Online (Sandbox Code Playgroud)

我是否需要在FooAsync添加 "Async"后缀才能异步运行操作?

asp.net-mvc asynchronous async-await asp.net-mvc-4

15
推荐指数
2
解决办法
4148
查看次数

向Serilog添加自定义属性

我在我的应用程序中使用Serilog和MS SQL Server接收器.我们假设我已经定义了以下类......

public class Person
{
  public string FirstName { get; set; }
  public string LastName { get; set; }

  public DateTime BirthDate { get; set; }
  // ... more properties
}
Run Code Online (Sandbox Code Playgroud)

...并创建了一个实例:

var person = new Person
{
    FirstName = "John",
    LastName = "Doe",
    BirthDate = DateTime.UtcNow.AddYears(-25)
};
Run Code Online (Sandbox Code Playgroud)

我在我的代码中放置了以下日志调用:

Log.Information("New user: {FirstName:l} {LastName:l}",
    person.FirstName, person.LastName);
Run Code Online (Sandbox Code Playgroud)

是否可以在不将其添加到消息模板的情况下记录该BirthDate属性,以便在PropertiesXML列中呈现它?我想稍后在我的应用程序的日志查看器的详细信息视图中输出它.

我基本上寻找类似于对象解构的行为,但不打印平面对象作为日志消息的一部分.

serilog

15
推荐指数
3
解决办法
7452
查看次数

AngularJS指令中自定义HTML标记的后果

假设我gravatar在AngularJS中编写了一个自定义指令,该指令绑定到email作用域上的属性.该指令将取代此HTML ...

<gravatar email="user.email" />
Run Code Online (Sandbox Code Playgroud)

通过一个公共img标签,其src属性设置为正确的Gravatar网址:

<img src="http://gravatar.com/avatar/..." />
Run Code Online (Sandbox Code Playgroud)

我的问题可能有点宽泛甚至天真,但最初<gravatar />在我的网页的HTML中有标记"有多糟糕" ?除了没有通过W3C验证之外,还有任何"现实世界"的后果吗?

html angularjs angularjs-directive

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

使用javascript从图像文件中读取元数据

有没有办法<img>使用JavaScript 读取标签中图像文件的元数据?

html javascript image

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