小编Dom*_*nik的帖子

node.js在Windows上使用utf8编码文件读取readfile错误

我正在尝试在Windows 8.1上使用node.js(0.10.29)从磁盘加载UTF8 json文件.以下是运行的代码:

var http = require('http');
var utils = require('util');
var path = require('path');
var fs = require('fs');

var myconfig;
fs.readFile('./myconfig.json', 'utf8', function (err, data) {
    if (err) {
        console.log("ERROR: Configuration load - " + err);
        throw err;
    } else {
        try {
            myconfig = JSON.parse(data);
            console.log("Configuration loaded successfully");
        }
        catch (ex) {
            console.log("ERROR: Configuration parse - " + err);
        }


    }
});
Run Code Online (Sandbox Code Playgroud)

运行时出现以下错误:

SyntaxError: Unexpected token ´??
    at Object.parse (native)
    ...
Run Code Online (Sandbox Code Playgroud)

现在,当我将文件编码(使用Notepad ++)更改为ANSI时,它可以正常工作.

任何想法为什么会这样?虽然在Windows上进行开发,但最终解决方案将部署到各种非Windows服务器上,我担心如果我将ANSI文件部署到Linux,我将在服务器端遇到问题.

根据我在这里和谷歌的搜索,代码应该适用于Windows,因为我特别告诉它期望一个UTF-8文件.

示例配置我正在阅读:

{
    "ListenIP4": …
Run Code Online (Sandbox Code Playgroud)

file-io json node.js

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

以编程方式将控件添加到WPF 4.5中的Grid RowDefition

我经历过这个网站(以及其他许多网站)试图弄清楚发生了什么以及为什么这不起作用.我正在运行VS2012并创建了一个WPF C#应用程序(目标.NET 4.5).我是WPF的新手,花了很多年编写Windows Forms应用程序,但决定冒险尝试,并且我喜欢XAML到目前为止.

最终我想:1)删除网格中特定行(RowDefinition)中的用户控件2)将另一个用户控件放在该特定行中

但是,我似乎无法放置一个简单的按钮控件.我想要做的是在第4行放置一个按钮(3个零索引).这是我的XAML:

<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Custom="http://schemas.microsoft.com/winfx/2006/xaml/presentation/ribbon"
x:Class="TestApp2_WindowsClient.MainWindow"
Title="Test App 2" Height="700" Width="1000" MinHeight="700" MinWidth="1000" MaxHeight="700" MaxWidth="1000" FontSize="12" FontFamily="Segoe UI Semibold">
<Grid VerticalAlignment="Top" Name="gridMain">
    <Grid.RowDefinitions>
        <RowDefinition Height="60"/>
        <RowDefinition Height="152"/>
        <RowDefinition Height="240"/>
        <RowDefinition Height="60"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="0"/>
    </Grid.ColumnDefinitions>

<StackPanel Name="stackButtons1" HorizontalAlignment="Left" Height="50" Margin="4,4,-310,4" Grid.Row="0" VerticalAlignment="Top" Width="300" Orientation="Horizontal" >
        <Button Content="Show Bookings" Height="24" Margin="4,0,0,0" Click="Button_Click_1" />
        <Button Content="Show Radio Buttons" Height="24" Margin="4,0,0,0" Click="Button_Click_2" />
    </StackPanel>

</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

按钮代码(堆栈面板中的第一个按钮)是:

Button MyControl = new Button();
MyControl.Content = "Test Button!";

Grid.SetRow(MyControl, …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf xaml .net-4.5

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

.NET HTTPClient异步限制

我有一个小的.Net 4.5 C#应用程序,它从数据源读取信息,然后将此信息推送到一个带有简单控制器的.NET 4.5 Web API站点的网站.控制器接收数据并将其放入数据库.

以下对我有用,只要应用程序可以读取它就可以写入并且所有内容都在DB中结束:

    public static void PostDataToWebApi(MyDataClass tData)
    {
        HttpResponseMessage s = null;

        try
        {
            s = client.PostAsJsonAsync("/api/Station/Collector", tData).Result;
            s.EnsureSuccessStatusCode();
        }
        catch (Exception e)
        {
            Console.WriteLine("ERROR (ClientPost): " + e.ToString());
        }
    }
Run Code Online (Sandbox Code Playgroud)

以下不起作用.它发布了大约一千多条记录,然后出现了一些错误,所有错误都是"任务被取消",但是大约10秒后它恢复处理:

    public static async void PostDataToWebApi(MyDataClass tData)
    {
        HttpResponseMessage s = null;

        try
        {
            s = await client.PostAsJsonAsync("/api/Station/Collector", tData);
            s.EnsureSuccessStatusCode();
        }
        catch (Exception e)
        {
            Console.WriteLine("ERROR (ClientPost): " + e.ToString());
        }
    }
Run Code Online (Sandbox Code Playgroud)

完整的错误是:

    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
    at IICE_DataCollector_Remote.Program.<PostDataToWebApi>d__7.MoveNext() in …
Run Code Online (Sandbox Code Playgroud)

.net c# async-await dotnet-httpclient

7
推荐指数
1
解决办法
4726
查看次数

标签 统计

.net ×2

c# ×2

.net-4.5 ×1

async-await ×1

dotnet-httpclient ×1

file-io ×1

json ×1

node.js ×1

wpf ×1

xaml ×1