在互联网上有许多类似的问题,包括SO,但提议的解决方案在我的情况下不起作用.场景:xaml中有一个日志文本框
<TextBox Name="Status"
Margin="5"
Grid.Column="1"
Grid.Row="5"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Width="600"
Height="310"/>
Run Code Online (Sandbox Code Playgroud)
在代码隐藏中有一些方法可以做一些工作并在这个文本框中添加一些多行(可能就是问题?)消息:
private static void DoSomeThings(TextBox textBox)
{
// do work
textBox.AppendText("Work finished\r\n"); // better way than Text += according to msdn
// do more
textBox.AppendText("One more message\r\n");
...
}
private static void DoSomething2(TextBox textBox)
{
// same as first method
}
Run Code Online (Sandbox Code Playgroud)
执行所有操作后,需要滚动到文本框的底部.尝试ScrollToEnd(),ScrollToLine,将文本框包装到ScrollViewer,Selection和Caret解决方法,将ScrollToEnd附加到TextChanged.在溢出文本框高度的执行行仍然需要手动滚动之后,这些都不起作用.对不起重复的问题,我想我错过了一些小问题,可以由对问题有新见解的人迅速解决.提前致谢.
有一个简单的Windows批处理文件,它运行多个应用程序实例:
start app.exe param1
start app.exe param2
Run Code Online (Sandbox Code Playgroud)
有没有办法同时异步运行它们(上面做的)并等待它们完成执行其他操作 - 类似于C#
Task.WhenAll(tasksList.ToArray());
/* Process tasksList.Result */
Run Code Online (Sandbox Code Playgroud)
?
/ wait开关在这里没有帮助,如果特定实例仍在运行,可能会进行一些轮询.
我试图让EF 5.0代码首先使用PostgreSQL(Npgsql提供程序).我通过NuGet安装了Npgsql 2.0.12.1(虽然引用的程序集是2.0.12.0).我在app.config中声明了Npgsql(默认连接工厂和提供者工厂):
<entityFramework>
<defaultConnectionFactory type="Npgsql.NpgsqlFactory, Npgsql, Version=2.0.12.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" />
</entityFramework>
<system.data>
<DbProviderFactories>
<add name="Npgsql Data Provider"
invariant="Npgsql"
description="Data Provider for PostgreSQL"
support="FF"
type="Npgsql.NpgsqlFactory, Npgsql, Version=2.0.12.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7"/>
</DbProviderFactories>
</system.data>
Run Code Online (Sandbox Code Playgroud)
我有以下测试成功运行:
[Test]
public void DatabaseConnection_DatabaseFactoryTest()
{
var factory = DbProviderFactories.GetFactory("Npgsql");
var conn = factory.CreateConnection();
conn.ConnectionString = _connectionString;
var npg = (NpgsqlConnection)conn;
var result = TestConnectionHelper(npg); // scalar select version(), nothing particular
Assert.AreEqual(result, "PostgreSQL 9.2.2, compiled by Visual C++ build 1600, 64-bit");
}
Run Code Online (Sandbox Code Playgroud)
这意味着至少数据库实例正在运行且提供程序已成功配置.现在我想要的是使用从DbContext继承的自定义数据库上下文,它将绑定到同一个提供程序并通过连接字符串初始化:
public class InventoryContext : DbContext
{ …Run Code Online (Sandbox Code Playgroud) 更新
见下面的第3篇文章.
需要自动将文件上传到网络(无需浏览器).主机 - 迷你文件主机v1.2(如果这很重要).没有在文档中找到特定的api,所以最初我在Firebug中嗅探浏览器请求如下:
Params : do
Value : verify
POST /upload.php?do=verify HTTP/1.1
Host: webfile.ukrwest.net
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; ru; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 4.0.20506)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://filehoster.awardspace.com/index.php
Content-Type: multipart/form-data; boundary=---------------------------27368237179714
Content-Length: 445
-----------------------------27368237179714
Content-Disposition: form-data; name="upfile"; filename="Test.file"
Content-Type: application/octet-stream
12345678901011121314151617sample text
-----------------------------27368237179714
Content-Disposition: form-data; name="descr"
-----------------------------27368237179714
Content-Disposition: form-data; name="pprotect"
-----------------------------27368237179714--
Run Code Online (Sandbox Code Playgroud)
在这里,我们可以看到参数,标题,内容类型和信息块(1 - 文件名和类型,2 - 文件内容,3 - 附加参数 - 描述和密码,不一定适用).所以我创建了一个一步一步模拟这种行为的类:在url上使用HttpWebRequest,使用所需的参数来请求,使用StringBuilder形成请求字符串并将它们转换为字节数组,使用FileStream读取文件,将所有内容放入MemoryStream然后将其写入请求(从CodeProject的一篇文章中获取代码的主要部分,它将文件上传到Rapidshare主机).整洁,但......它似乎不起作用:(.结果它返回初始上传页面,而不是带有我可以解析并呈现给用户的链接的结果页面......以下是上传者的主要方法课程:
// …Run Code Online (Sandbox Code Playgroud) 我正在开发一个WPF XBAP应用程序.每次弹出安全警告时,我尝试在Internet Explorer(9.0.8112.16421更新版本9.0.9 KB2722913,Windows 7)中打开它.两次.

这只是在开发者环境中非常烦人和可接受,需要关闭它们.项目配置如下:安全性 - "启用ClickOnce安全设置"(当其禁用的应用程序根本不运行时) - "这是一个完全信任的应用程序"; "签名" - "签署ClickOne清单"(包含导入受信任的根证书颁发机构的测试证书).在IE中,Internet和Intranet区域都将"WPF浏览器应用程序"设置为"启用"(由于从文件系统加载*.xbap,因此可能无效).如果我没有其他方法将WPF应用程序集成到浏览器中(Silverlight不是一个选项,则需要完整的.NET框架定位)我正在寻找上述问题的解决方案.提前致谢.
首先,我已经阅读了所有相关主题并且他们给出了一般性的想法,但实现对我不起作用:
将字符串从一个控制台应用程序
发送 到另一个如何将输入发送到控制台,就像用户正在键入一样?
从控制台应用程序(C#/ WinForms)发送输入/获取输出
我有一个控制台应用程序,它在后台执行某些操作,直到请求取消.典型使用场景是:
1)执行应用程序
2)输入输入数据
3)发出启动命令
4)经过一段时间后,输入停止命令
5)退出应用程序
子应用程序Program.cs:
static void Main()
{
Console.WriteLine("Enter input parameter : ");
var inputParameter = Console.ReadLine();
Console.WriteLine("Entered : " + inputParameter);
var tokenSource = new CancellationTokenSource();
var token = tokenSource.Token;
Task.Factory.StartNew(() =>
{
while (true)
{
if (token.IsCancellationRequested)
{
Console.WriteLine("Stopping actions");
return;
}
// Simulating some actions
Console.Write("*");
}
}, token);
if (Console.ReadKey().KeyChar == 'c')
{
tokenSource.Cancel();
Console.WriteLine("Stop command");
}
Console.WriteLine("Finished");
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是某种控制该应用程序的主机实用程序 - 在每个实例上生成多个实例并执行所需的用户操作.主持人申请Program.cs …
我正在尝试根据新的fw 4.5功能重写旧的网络身份验证逻辑,例如HttpClient和await/async,我在请求和响应之间遇到意外的延迟(大约15秒).我的猜测是因为客户端尝试从IE中查找/使用代理,就像使用旧的HttpRequest/WebClient一样.这是代码:
public static async Task<AuthResult> GetDataFromServiceAsync(string url, string login, string password)
{
Debug.WriteLine("[" + DateTime.Now + "] GetDataFromServiceAsync");
var handler = new HttpClientHandler { Credentials = new NetworkCredential(login, password)/*, UseProxy = false*/ };
var client = new HttpClient(handler) { MaxResponseContentBufferSize = Int32.MaxValue };
try
{
var resp = await client.GetAsync(new Uri(url));
var content = resp.Content.ReadAsStringAsync().Result;
var auth = ParseContent(content);
Debug.WriteLine("[" + DateTime.Now + "] Returning AuthResult : " + auth);
return new AuthResult { Success = auth, Exception = …Run Code Online (Sandbox Code Playgroud) .net ×3
c# ×3
wpf ×2
.net-4.5 ×1
async-await ×1
autoscroll ×1
batch-file ×1
console ×1
database ×1
file ×1
interop ×1
message ×1
multiline ×1
networking ×1
process ×1
security ×1
textbox ×1
upload ×1
wait ×1
xbap ×1