小编The*_*Sky的帖子

使用Node.js和Express进行POST时如何访问请求体?

我有以下Node.js代码:

var express = require('express');
var app = express.createServer(express.logger());
app.use(express.bodyParser());

app.post('/', function(request, response) {
    response.write(request.body.user);
    response.end();
});
Run Code Online (Sandbox Code Playgroud)

现在,如果我发布类似的东西:

curl -d user=Someone -H Accept:application/json --url http://localhost:5000
Run Code Online (Sandbox Code Playgroud)

Someone按预期得到了.现在,如果我想获得完整的请求体,该怎么办?我尝试过response.write(request.body)但是Node.js会抛出一个异常,说" 第一个参数必须是字符串或缓冲区 ",然后进入"无限循环",异常显示" 无法在发送后设置标头. "; 即使我做了var reqBody = request.body;然后写作也是如此response.write(reqBody).

这是什么问题?

另外,我可以在不使用的情况下获得原始请求express.bodyParser()吗?

javascript node.js express

149
推荐指数
8
解决办法
28万
查看次数

如何将字符串转换为base64字节数组,这是否有效?

我正在尝试编写一个将字符串转换为base64字节数组的函数.我尝试过这种方法:

public byte[] stringToBase64ByteArray(String input)
{
    byte[] ret = System.Text.Encoding.Unicode.GetBytes(input);
    string s = Convert.ToBase64String(input);
    ret = System.Text.Encoding.Unicode.GetBytes(s);
    return ret;
}
Run Code Online (Sandbox Code Playgroud)

此函数是否会产生有效结果(假设字符串是unicode)?谢谢!

.net c# string base64 bytearray

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

MSBuild不尊重ClickOnce应用程序的PublishUrl属性

我正在尝试制作一个批处理文件,只需点击一下即可发布我们拥有的少数ClickOnce应用程序.我正在使用msbuild,作为示例,下面的命令行显示了我是如何做到的:

msbuild
    MyApp.sln
    /t:Publish
    /p:Configuration=Release
    /p:PublishUrl="C:\Apps\"
    /v:normal > Log.txt
Run Code Online (Sandbox Code Playgroud)

(包装更容易阅读)

当我运行上面的命令时,它在发布目录中构建并发布应用程序,即bin\release!知道为什么msbuild在上面的例子中不尊重PublishUrl属性吗?

PS:我尝试了不同的组合,包括删除'配置',使用'重建'和'发布'作为目标,并删除引号但没有任何成功.

提前致谢,

埃萨姆

msbuild clickonce

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

SQL CE 4.0的限制

我打算在一个小型的生产网站上使用SQL CE 4.0,我想知道SQL CE 4.0可以处理多少负载:

  1. 数字同时连接,
  2. 每个表的行数,以及
  3. 总DB大小.

sql-server-ce

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

Visual Studio 2017 Android设备管理器认为未正确安装WHPX

我只是将Visual Studio 2017更新到版本15.8.0,这是我一直在等待一段时间的版本,因为它支持使用Windows Hypervisor平台(WHPX)的Hyper-V加速Android模拟器.

自5月以来我一直在运行Windows 10版本1803,我已经从"打开或关闭Windows功能"安装/启用了Windows Hypervisor平台.另外,我已经更新了Android SDK和工具,如https://docs.microsoft.com/en-us/xamarin/android/get-started/installation/android-emulator/hardware-acceleration中所述.

但是,当我运行任何加速模拟器时,我收到一个错误:

我们遇到了Windows Hypervisor平台(WHPX)配置错误,导致我们无法运行加速仿真器.

请确保正确安装WHPX,然后在仿真器上执行恢复出厂设置并再试一次.

没有日志,没有别的.因此,我有点困惑,不知道接下来该做什么.

感谢任何帮助.

PS几点澄清:

  • 我尝试了两种方法,重置现有的模拟器并创建新的模拟器.
  • 我在同一台PC上运行Hyper-V虚拟机和Docker容器.

android xamarin visual-studio-2017 whpx android-device-manager

17
推荐指数
1
解决办法
9817
查看次数

如何实现Portable HttpClient的进度报告

我正在编写一个图书馆,意图在桌面(.Net 4.0及更高版本),手机(WP 7.5及以上版本)和Windows Store(Windows 8及更高版本)应用程序中使用它.

该库能够使用Portable HttpClient库从Internet下载文件,并报告下载进度.

我在这里和互联网的其余部分搜索有关如何实施进度报告的文档和代码示例/指南,这次搜索使我无处可去.

有没有人有文章,文档,指南,代码示例或其他什么来帮助我实现这一目标?

c# portable-class-library dotnet-httpclient

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

免费短信网关引擎

最近我一直在寻找SMS(主要)网关,免费,最好是开源.到目前为止,我遇到了符合我需求的Kannel,还有更多.但是,我希望有一些基于Windows的东西(Kannel是基于Linux的)......好吧,我知道Kannel可以使用Cygwin编译和运行,但它不会像在Linux上那样可靠.

有没有人知道Windows上的类似的东西?我不是在寻找一个功能齐全的企业解决方案,像Kannel这样简单的东西(以及少量API的引擎)对我来说没问题.

sms kannel

8
推荐指数
1
解决办法
4143
查看次数

如何:停止添加mc的Visual Studio XAML编辑器:可忽略

每当我在XAML页面打开时运行我的Windows Phone应用程序时,Visual Studio会将以下内容添加到我的XAML中:

mc:Ignorable="d" 
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"   
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
d:DesignHeight="768" 
d:DesignWidth="480"
Run Code Online (Sandbox Code Playgroud)

我怎么能阻止它这样做?我知道保留它不会伤害我,但除非我需要它,否则我不希望它出现在我的代码中.

谢谢

visual-studio-2010 xaml-designer

8
推荐指数
1
解决办法
873
查看次数

SQL Server INSERT,Scope_Identity()和物理写入光盘

我有一个存储过程,除了其他功能之外,还有一些循环内不同表中的插入.请参阅以下示例以更清楚地了解:

INSERT INTO T1 VALUES ('something')

SET @MyID = Scope_Identity()

... some stuff go here

INSERT INTO T2 VALUES (@MyID, 'something else')

... The rest of the procedure
Run Code Online (Sandbox Code Playgroud)

这两个表(T1和T2)在每个表中都有一个IDENTITY(1,1)列,我们称之为ID1和ID2; 但是,在我们的生产数据库(非常繁忙的数据库)中运行该程序并在每个表中有超过6250条记录后,我注意到ID1与ID2不匹配的一个事件!虽然通常对于插入T1中的每个记录,但是在T2中插入了记录,并且两者中的标识列一致地递增.

"错误的"记录是这样的:

ID1     Col1
----    ---------
4709    data-4709
4710    data-4710

ID2     ID1     Col1
----    ----    ---------
4709    4710    data-4710
4710    4709    data-4709
Run Code Online (Sandbox Code Playgroud)

注意第二个表中的"倒"ID1.

在操作中对SQL Server知之甚少,我已经提出了以下"理论",也许有人可以纠正我.

我认为因为循环比物理写入表更快,和/或可能延迟写入过程的其他事情,记录被缓冲.在写它们的时候,它们没有特别的顺序写.

如果没有,那是否可能,如何解释上述情况?

如果是,那么我还有另一个问题要提出来.如果第一个插入(来自上面的代码)被延迟怎么办?这是不是意味着我不会将正确的IDENTITY插入第二个表?如果答案也是肯定的,那么我该怎样做才能确保两个表中的插入将按正确的IDENTITY顺序进行?

我感谢任何有助于我理解这一点的评论和信息.

提前致谢.

sql-server identity insert scope-identity

6
推荐指数
1
解决办法
1755
查看次数

在WinRT XAML UserControl中访问DataContext的位置

我有UserControlViewModel一个引发了一个事件:

public event EventHandler<EventArgs> StuffDone;
Run Code Online (Sandbox Code Playgroud)

UserControlViewModel内部创建并初始化的对象MainPageViewModel:

this.userControlViewModel = new UserControlViewModel();
Run Code Online (Sandbox Code Playgroud)

MainPageViewModel是视图模型MainPage.

在MainPage.xaml中,我有下面的代码放置UserControlView UserControlMainPage并初始化它DataContext:

<views:UserControlView DataContext="{Binding userControlViewModel, Mode=OneWay}" IsHitTestVisible="False"></views:UserControlView>
Run Code Online (Sandbox Code Playgroud)

到目前为止一切正常.

现在我想订阅StuffDone里面的活动UserControlView.我想到的第一件事就是在Loaded事件处理程序中执行UserControlView; 然而,DataContext那时仍然是null.扫描其余的UserControl事件完全没有任何线索.

那么,在哪里可以获得DataContext并订阅其活动?

提前致谢.

mvvm windows-runtime winrt-xaml windows-store-apps

5
推荐指数
1
解决办法
1183
查看次数