あまみや ゆうこ » PAGE3

被玷污的.NET架构

今天和朋友探讨了一下.NET架构,由于我一直反对抽service的行为,因此希望了解一下这些架构师的想法,可惜这些人是没想法的。

从讨论中得出似乎这样的行为是先前微软误导的,怪我当年没有看微软官方Sample咯,不过现在微软也在修正这样的问题,比如推出的MusicStore的架构就是非常合理的。

至于要共享App的Restful API和Web UI的数据库操作逻辑,我的结论是这样的:完全可以用ApiController做Web API,前端使用AngularJS,这样APP继续调用API。这样的架构也没有为项目增加繁琐的层次,也没有因为层次过于繁琐带来的效率低下、难于维护等问题。

其实,到了MVC时代,微软提供的MusicStore已经不再抽service了,是一些万恶的java开发人员玷污了这片净土!难道不是吗,你们自己看搞java的现在还在那MVC~Service。本人很不理解一些搞java的,根本不了解.NET文化,缺大肆出版.NET教程来误导开发者,真是够了。。。

file

file

file

file

更多内容 »

Published on 7/21/2016 3:24:03 PM

在.NET Core中使用MySQL5.7的JSON类型字段

Getting Started

① Adding pomelo myget feed into your NuGet.config which located in your solution root.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
    <add key="Pomelo" value="https://www.myget.org/F/pomelo/api/v2/" />
  </packageSources>
  <disabledPackageSources />
</configuration>

② Add Pomelo.Data.MySql and Pomelo.EntityFrameworkCore.MySql into your project.json. The versions of them are 1.0.0.

更多内容 »

Published on 7/14/2016 9:30:46 AM

MySQL for .NET Core - Pomelo 扩展包系列

全球首发免费的MySql for Entity Framework Core

Source

源代码在GitHub中以MIT协议开源:

Pomelo.Data.MySql

Pomelo.EntityFrameworkCore.MySql

Background

一时兴起,想实现.NET Core下的MySQL ADO层和与Entity Framework Core对接,同时也是非常鄙视某厂商借着目前Oracle官方没有对.NET Core进行支持的时机捞金,然后也是为了学习一下Microsoft的Entity Framework原理,于是这个包就诞生了,这个包将在7月底在GitHub中开源,欢迎小伙伴们来contribute。

Getting Started

更多内容 »

Published on 7/9/2016 8:39:07 AM

动态本地化 - Pomelo 扩展包系列

Background

又是一个不得不造的轮子,跟小伙伴说好的开发一个个人简历系统,于是有些公司要求双语简历,那么如何存储多语言,可扩展性又是一个具有挑战性的课题。我希望我的框架能够让开发者不改变传统操作过程的同时,将这个功能实现,于是这个包就诞生了。同时这次也重构了之前的Localization静态的功能,也移除了基于Entity Framework的字段存储,因为静态字段你使用JSON形式存储就足够了(其实本人也从来没使用过用EF来存储静态的本地化文本)。

Getting Started

和往常一样,很自然的创建一个项目,并添加MyGet Feed: 。至于什么时候publish到NuGet上,这件事情要等所有Pomelo系列都稳定了再议。

进入Startup.cs,先把静态的本地化文本业务添加到ServiceCollection中:

            services.AddPomeloLocalization(x =>
            {
                x.AddCulture(new string[] { "zh", "zh-CN", "zh-Hans", "zh-Hans-CN" }, new JsonLocalizedStringStore(Path.Combine("Localization", "zh-CN.json")));
                x.AddCulture(new string[] { "en", "en-US", "en-GB" }, new JsonLocalizedStringStore(Path.Combine("Localization", "en-US.json")));
            });

更多内容 »

Published on 7/6/2016 8:22:45 AM

ASP.NET Core 发微信红包

今天做了个比较有趣的东西,就是编写一个HTML5摇一摇的界面,让用户抢红包。抢到以后通过微信授权来发送到用户的微信钱包里。

于是研究了一发微信支付的付款接口部分,各种Key啊,各种certificate。于是联想到了前段时间在搞的.NET Core下调用Azure的一些事情。比如RC2还不支持HttpClient带X509证书进行请求被迫使用了RC3版本的CoreFX。

好在现在已经发布了RTM,于是以清真的方式轻松的就解决了X509Certificate的问题,再也不需要mono这种万恶的东西了。于是,我好想吐槽微信的API跟Azure的API真是有一拼,接口混乱、文档不全。而且微信有好多奇葩的地方比如请求是XML反馈是JSON。

在这个抢红包的时代,我觉得使用者会需要查看实时的结果吧,于是上了SignalR。每当有用户领取了红包,管理员就会马上看到这个人的具体信息。

同样也支持导出Excel报表。骄傲的使用了Pomelo.Data.Excel。

最后,源代码:https://github.com/Kagamine/WechatBribery

file

Published on 7/2/2016 2:34:53 PM