あまみや ゆうこ » PAGE5

Pomelo.Net.Smtp - Pomelo 扩展包系列

Introduction

首先这个包的意义在于,.NET Core Fx下没有System.Net.Smtp,因此开发者在开发具有发送电子邮件的项目时会有很大困难。在以前版本的设计中,忽略了一个重要因素,就是有些产品中可能需要使用抄送、密送、批量发送以及发送附件的需求。而在RC2中,这个包也被重构了。现在不仅支持了上述内容,对于文章结构也有了新的改进。现在通过Pomelo.Net.Smtp发送的电子邮件,不仅会发送HTML版本,也会为那些不支持HTML的邮件客户端发送一份PlainText的版本,让客户端自动识别支持的格式。

Getting Started

首先引用Pomelo的MyGet Feed:<add key="Code Comb" value="https://www.myget.org/F/pomelo/api/v2/" /> 添加Pomelo.Net.SmtpPomelo.AspNetCore.Extensions即可。

接下来进入Startup.cs:

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddSmtpEmailSender("smtp.exmail.qq.com", 25, "你的名称", "你的电子邮箱地址", "你的电子邮箱地址或用户名", "密码");
        }

更多内容 »

Published on 6/20/2016 8:03:34 AM

Anti XSS - Pomelo 扩展包系列

Introduction

最近在开发的时候遇到这样的需求,普通用户允许使用基本的markdown语法,而管理员除了markdown以外可以发html,比如<embed><video>等。

那么现在就有这样的一个问题,市面上主流的反XSS插件都是要求在C#端写Hard Code,这样一来开发者就没有办法进行权限的校验了。因此Pomelo为广大开发者提供了一款自由度很大的反XSS插件。

Getting Started

与其他包一样,需要添加Pomelo的MyGet Feed:<add key="Code Comb" value="https://www.myget.org/F/pomelo/api/v2/" />,接下来在project.json中引用Pomelo.AspNetCore.Extesions或Pomelo.AspNetCore.AntiXSS包。

Pomelo.AspNetCore.AntiXSS提供了三种白名单提供方式:

Hard Code

Hard Code方式要求开发者自行封装一个IWhiteListProvider将IDictionary形式返回。

更多内容 »

Published on 6/15/2016 2:16:06 PM

Timed Job - Pomelo扩展包系列

Introduction

许多.NET开发者向我反馈,在不使用Azure Jobs的时候,做定时事件太麻烦。因此设计了Timed Job框架以供开发者在进行ASP.NET Core时,能够拥有低后期维护成本、条理清晰地编写定时事务逻辑。具体可以应用于定时生成报表、定时生成网站缓存等场景。

Getting Started

使用方法很简单,首先引用Pomelo.AspNetCore.TimedJob包(注意,该包没有包含在Pomelo.AspNetCore.Extensions中)。当然这要添加MyGet Feed:<add key="Code Comb" value="https://www.myget.org/F/pomelo/api/v2/" />

在Startup.cs中添加TimedJob:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;

更多内容 »

Published on 6/12/2016 9:03:04 PM

Blob Storage - Pomelo扩展包系列

Introduction

Blob Storage是Pomelo扩展包中为了让开发者快速实现文件存储、文件上传而设计的框架。使用该框架可实现类似GitHub Issue编辑器中的Ctrl+V粘贴图片至编辑器或拖拽图片至编辑器的功能。

Getting Started

首先创建一个ASP.Net Core RC2的空白项目:

file

在解决方案根目录(即.sln文件所在目录)中创建NuGet.config文件:

file

file

更多内容 »

Published on 6/11/2016 9:34:37 AM

Pomelo IDE

开发这个有三个目的,一是参加微软云中黑客松比赛,虽然这个比赛办的不怎么样。二是为了毕业设计给自己挖的坑,所以这个项目前端是用之前发表的文章里说的jFlick开发的。三是为了进微软,证明一下自己的实力。

源代码在GitHub上:https://github.com/pomeloide

Published on 6/6/2016 6:54:08 PM