我有一个app.config
Visual Studio 2010创建的.NET 4.0控制台应用程序的标准,在项目设置选项卡中添加设置,如MSDN中所述:应用程序设置.
如果我MyAsseblyName.exe.config
在同一目录中更新结果文件中的设置值,那么运行我在代码中看到的exe,方法是:
Properties.Settings.Default.MySetting;
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用上面的行在Ubuntu 14.04上运行Mono 3.2.8(使用相同的构建和相同文件),则会在项目"设置"选项卡上指定默认值,而不是MyAsseblyName.exe.config
文件中的更新值.
我需要做什么来单声道使用像app这样的app.config,如果它们在那里,那么从文件中读取值?
解决方法
对于遇到此问题的其他人,我可以通过将app.config中的设置移动到项目设计人员创建或创建的old-school <appSettings>
元素来解决此问题.然后你可以使用:<userSettings>
<applicationSettings>
var myValue = ConfigurationManager.AppSettings["MyKey"];
Run Code Online (Sandbox Code Playgroud)
我想编写一个C#应用程序来处理我的HTTP(包括AJAX请求)而不是PHP,PERL或ASP路由,因为我只需要返回一些标准HTML,尽管很明显,因为我想要CGI,动态生成.
更新:我不打算编写自己的Web服务器,但是由IIS或Apache等Web服务器托管exe.此外,我不想学习和使用ASP(我知道我可以更快,开发时间,我自己在C#),我只是希望W3C有效的HTML发送回客户端.
没有这么好的理由吗?
我意识到每次发出HTTP请求时都必须加载并运行exe - 但Perl,ASP和PHP肯定也是如此吗?有没有办法让exe继续运行处理特定页面的所有HTTP请求?(虽然感觉我只是在写一个迷你HTTP服务器!)
有没有好的教程?我读过这篇文章,但有点过时(2005年):http://www.codeproject.com/KB/cs/cgi_csharp.aspx
更新2:我不认为速度无论如何都会成为一个问题(运行一个没有GUI的小exe几乎是瞬间的)但是如果我想要真正有效我可以编写C#服务器然后非静态页面请求可以有一个小的exe用C语言编写,将请求发送到C#服务器并返回答复.不是吗?:)
注意:我知道可以使用 FOP 之类的东西从 XSL-FO 生成 PDF,但我只对直接支持感兴趣。
我想将Button ControlTemplate中的Border.Background绑定到我的按钮的Background属性.通常我会使用TemplateBinding:
<Style TargetType="Button" x:Key="ColuredButton">
<Setter Property="Background" Value="LightGreen"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="Border" CornerRadius="2" BorderThickness="1" BorderBrush="Gray">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="{TemplateBinding Foreground}"/>
<GradientStop Color="{TemplateBinding Background}"/>
</LinearGradientBrush>
</Border.Background>
<ContentPresenter Margin="2" HorizontalAlignment="Center" VerticalAlignment="Center" RecognizesAccessKey="True" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)
但我收到错误:"如果不在模板中,则无法设置TemplateBinding"..但我在模板中!(如果我不使用LinearGradientBrush并将边框Backround属性直接绑定到{TemplateBinding Background},它可以工作....
在C#我会去:
myObj.base
Run Code Online (Sandbox Code Playgroud)
我有一个继承自date.datetime的Date类.Date类会覆盖__gt__()
,__lt__()
因此在使用<
和>
运算符时会调用它们.我不想使用这些覆盖 - 我想在Date实例上使用date.datetime方法.
如何在System Store应用程序中读取二进制文件,或者更具体地说,当System.IO命名空间不包含File类时,如何创建Stream?
BinaryReader 的文档示例无益使用File!
我正在学习使用OpenGL,我很惊讶颜色似乎总是被定义为vec4
包含4个单精度float
点数的结构.我很惊讶,因为如果要复制到图形内存的内存大小是一个问题(这就是为什么索引存在顶点着色器),每种颜色的大小是:
4 x 32 = 128 bits or 16 bytes
Run Code Online (Sandbox Code Playgroud)
当定义32位颜色所需的全部是32位(4字节)时!为什么不将ARGB颜色通道定义为字节呢?
SELECT xmlserialize (DOCUMENT (
SELECT xmlroot(
xmlelement(name root,
xmlelement(name value, 'test')
), version '1.0')
) AS text);
Run Code Online (Sandbox Code Playgroud)
收益:
<根> <值>测试</值> </根>
我想(并且期望):
<?xml version ='1.0'?> <root> <value> test </ value> </ root>
我当然可以去:
SELECT '<?xml version="1.0"?> ' || xmlserialize (CONTENT (...
Run Code Online (Sandbox Code Playgroud)
但那么包括xmlroot有什么意义呢?
我已经成功创建了一个带有Depedency属性的UserControl,允许我绑定到UserControl中的单个TextBox.但是,当我在UserControl中有许多控件并且只想绑定到单个属性(根据许多控件中的值构建)时,我不确定如何执行此操作?
UserControl有3个文本框,用于年,月和日期我想将它绑定到单个Date属性,到目前为止,我有这个:
<UserControl x:Class="MyApp.DateControl"...>
<StackPanel>
<StackPanel Orientation="Horizontal">
<TextBox Name="textbox_year" />
<TextBox Name="textbox_month" />
<TextBox Name="textbox_day" />
</StackPanel>
</StackPanel>
</UserControl>
Run Code Online (Sandbox Code Playgroud)
我需要在后面的代码中添加什么来使Date属性从三个文本框中获取,所以在使用我的控件的另一个容器中可以绑定到Date.我意识到,因为我的UserControl是目标,我必须创建一个依赖属性,但它似乎很复杂..
public partial class DateControl : UserControl
{
public DateControl()
{
InitializeComponent();
}
public DateTime Date
{
get
{
DateTime dt;
if (DateTime.TryParseExact(String.Format("{0}-{1}-{2}", this.textbox_year.Text, this.textbox_month.Text, this.textbox_day.Text), "yyyy-MM-dd", null, System.Globalization.DateTimeStyles.None, out dt))
return dt;
else
return DateTime.MinValue;
}
}
Run Code Online (Sandbox Code Playgroud) 我最近在这里学到以下是x86 CPU上的线程安全x86 CLR(不一定是ECMA标准CLR)
public class SometimesThreadSafe
{
private int value;
public int Value { get { return value; } }
public void Update()
{
Interlocked.Add(ref value, 47);
}
}
Run Code Online (Sandbox Code Playgroud)
这是因为写入int
这样的体系结构可确保任何其他有价值的CPU缓存同步.但是在ARM CPU上,这不是线程安全的!从另一个线程读取值可以从CPU缓存中读取旧副本.
所以问题是什么CPU架构和什么版本的CLR及其变体,例如Mono,这个线程安全吗?
c# ×4
wpf ×2
wpf-controls ×2
.net-3.5 ×1
.net-4.5 ×1
app-config ×1
binding ×1
c ×1
clr ×1
http ×1
mono ×1
opengl ×1
postgresql ×1
python ×1
python-2.6 ×1
webserver ×1
xaml ×1
xml ×1
xsl-fo ×1