最初我正在考虑使用SSIS来解析EDI文件,但是我已经看过一些手动EDI解析器(字段映射),并且想在C#中使用自动化这个功能.
示例EDI文件:

对于通知项目,想要推送事件通知.这些是登录,更改个人资料等内容,并显示给相应的客户端.我想讨论将它们放在一起的一些想法,并就最佳方法提出一些建议.
我在这里注意到,可以使用_changes流检测对CouchDB所做的更改,由Node拾取,然后一个进程启动.我想实现这样的东西(我使用的是SQL Server,但这个级别的入口点可能不是最好的解决方案).
而不是遵循CouchDB示例(检测基于数据库的事件,我认为这只会使事情变得复杂,因为我们对客户端事件感兴趣),我当时认为当事件发生时,例如用户登录,然后发送消息带有一些事件详细信息的节点服务器(RESTful请求?).然后处理该消息并将其广播到所有连接的客户端; 相应的客户端显示通知.
拟议的生态系统:
这将建立在使用.Net框架(IIS等)的现有项目之上.许多客户端的浏览器不支持Web套接字,因此使用Socket.IO是一个不错的选择(后备支持).但是,从我所看到的,Socket.IO仍然只支持通过IISNode进行长轮询(这不是一个真正的问题).
一个选项是将Socket.IO/Node端点暴露给所有客户端,以便基于客户端的通知可以通过JS发送到节点服务器,节点服务器广播消息.(遵循基本的聊天服务器/客户端/服务器示例).
或者,可以使用IIS端点,但只能支持长轮询(通过Socket.IO).这将提供一些额外的.Net后端处理,但可能使架构过于复杂.
Node是否有基于SQL Server的事件通知?
什么是最好的方法?
如果我没有正确的术语生态系统配置,请澄清.
谢谢.
我不想在VS中更改解决方案资源管理器的整个背景颜色,只需更改所选文件.
提示?
谢谢.
elasticsearch可以作为Windows或Linux服务启动.在一个环境中运行它与生产中的另一个环境有更好的性能吗?
我正在确定一个项目的架构选项,该项目将呈现用户活动的实时更新(如Facebook) - 登录,照片等.这个的两个主要UI组件是一个自动更新滚动区域,其中将列出新通知(照片)等等,以及一个工具栏,它将更新更新的消息计数等内容.
这方面的竞争者是基于Jabber/Comet/XMPP和WebSocket技术.
彗星阵营:
WebSockets阵营:
由于现有的基础架构是Microsoft堆栈,我宁愿不将基于Java的服务器引入其中.说到这一点,它留下了(一个非常有吸引力的)WebSync(Comet)和SuperWebSocket(WebSockets).然而,Pokein的DLL集成在.Net项目中也是相当无缝的.
.Net有更多真正的生产级WebSocket计划吗?在Microsoft堆栈上采用WebSockets还为时过早,我是否应该支持像Kazing这样的东西?
我还在等待有关我们当前用户群的浏览器类型和版本的报告(检查HTML5兼容性).我怀疑这个数字会很低(较旧的用户群).如果是这种情况,Comet选项将成为赢家.
还有什么需要考虑的事情?
看看像Sockets.IO和其他一些.Net计划,我认为这可能还处于起步阶段,适用于大规模的生产系统.
我可以从使用过上述任何技术和产品的人那里得到一些评论吗?
谢谢.
UPDATE
我仍在寻找一些在生产级别上可靠的优秀WebSocket服务器.我最近找到它后,将XSockets和SignalR添加到了Websockets阵营.Hoewver,目前仍有两个主要竞争者.这可能只是因为他们拥有非常出色的营销团队,可供开发人员使用的优质材料 - API和视频.许多其他实现似乎仍处于新生阶段,其中给出了仅与少数客户端连接的示例.虽然这证明了该技术,但这些演示并未备份有效的有效负载/负载容量数据.Kaazing和LightStreamer确实符合以下要求.
XSockets有一些很好的例子,但同样缺少一些真正的生产指标.
SignalR似乎尚未在真正的生产环境中进行过测试.横向扩展解决方案正在开发中,但似乎还不稳定.期待看到这个项目未来的发展方向.
主要要求是:
AWS上运行具有大约2M记录的当前应用程序,其搜索功能由SQL Server的FullText搜索功能提供.
在升级系统时,新体系结构将驻留在Azure Web和Worker角色中,但是用户帐户等的存储库存储和搜索功能就是这个问题所在,因为没有SQL Azure FullText搜索功能.
我最初的倾向是在Azure Linux VM(用作用户帐户和搜索的中央存储)上安装ElasticSearch,使用ElasticSearch.Net或NEST(最有可能是后者)进行.Net到ES通信,并为每个虚拟机付费服务器和数据输入/输出.问题是我相信推荐的ES内存大约是28演出,这将是Azure上相当昂贵的虚拟机.
然而,随着Azure搜索服务的推出,它刚开始时仍然有点贵(是的,超过10K的记录).在Azure门户中:

由于Azure搜索使用了ES,因此我不会质疑其中一个的性能.
是否有人使用新的Azure搜索服务进行了更详细的成本分析,而不是在Azure上设置ES服务器集群,哪个是最具成本效益的?
我正在使用带有MVC4 WebAPI OData和EF文章的Using Kendo UI.安装KendoUI并确保设置所有引用后,我输入三个字符,并得到以下错误:
未捕获的TypeError:对象#没有方法'slice'
问题的根源
通过更新来保存读取:通过调试我发现问题是JS希望解析一个数组 - 在数据中不可用 - 在根目录下.在数据层次结构中,它是一个级别.
原始问题
我清理了kendo.web.min.js,错误发生在第3498行:
success: function (n) {
var i = this,
r = i.options;
return i.trigger(wt, {
response: n,
type: "read"
}), n = i.reader.parse(n), i._handleCustomErrors(n) ? (i._dequeueRequest(), t) : (i._pristine = et(n) ? e.extend(!0, {}, n) : n.slice ? n.slice(0) : n, i._total = i.reader.total(n), i._aggregate && r.serverAggregates && (i._aggregateResult = i.reader.aggregates(n)), n = i._readData(n), i._pristineData = n.slice(0), i._data = i._observe(n), i._addRange(i._data), i._process(i._data), i._dequeueRequest(), …Run Code Online (Sandbox Code Playgroud) 我希望给定的操作执行一段时间.当该时间到期时,发送另一个执行命令.
StartDoingStuff();
System.Threading.Thread.Sleep(200);
StopDoingStuff();
Run Code Online (Sandbox Code Playgroud)
而不是在那里有一个阻塞应用程序其余部分的sleep语句,我怎样才能在C#中使用Async/Task/Await来编写它?
在MVC3中,数据注释可用于加速UI开发和验证; 即.
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "New password")]
public string NewPassword { get; set; }
Run Code Online (Sandbox Code Playgroud)
但是,如果对于移动应用程序,没有字段标签,则只会从数据库中填充下拉列表.我将如何以这种方式定义它?
[Required]
[DataType(DataType.[SOME LIST TYPE???])]
[Display(Name = "")]
public string Continent { get; set; }
Run Code Online (Sandbox Code Playgroud)
最好不要使用这种方法吗?
客户的系统将通过 API 连接到我们的系统以进行数据拉取。目前,这些数据将存储在数据集市中,假设每个请求存储 50,000 条记录。
我想知道传递源自 SQL Azure 数据库的有效负载的最有效方法。
API 请求将是 RESTful。收到请求后,我认为将从数据库中检索有效负载,将其转换为 JSON,然后通过 HTTP 进行 GZIP 编码/传输回客户端。
我担心处理这个问题可能需要许多连接的客户端提取大量数据。
最好以明文形式将直接结果返回给客户端吗?
欢迎提出建议。
- 更新 -
需要澄清的是,这不是正在连接的 Web 客户端。该连接是由另一个应用程序建立的,用于接收一次性的每日数据转储,因此没有分页。
数据主要由带有一个二进制字段的文本组成。