我刚刚在我的.NET 2.0应用程序中运行此异常(ProtocolViolationException)(在Windows Mobile 6标准仿真器上运行).令我困惑的是,据我所知,我没有添加任何内容正文,除非我无意中以某种方式完成了它.我的代码如下(非常简单).还有什么我需要做的是说服.NET这只是一个http GET吗?
谢谢,布莱恩
//run get and grab response
WebRequest request = WebRequest.Create(get.AbsoluteUri + args);
request.Method = "GET";
Stream stream = request.GetRequestStream(); // <= explodes here
XmlTextReader reader = new XmlTextReader(stream);
Run Code Online (Sandbox Code Playgroud) 是否有可能强制C#编译器将所有引用的调用拉出框架并将它们打包成dll甚至单个可执行文件?
我喜欢用C#编写快速的"一次性"应用程序,但是我不想在目标机器上准备好后再安装整个框架.
我只是学习SQLite,我无法正确编译命令.当我执行以下代码时:
this.command.CommandText = "INSERT INTO [StringData] VALUE (?,?)";
this.data = new SQLiteParameter();
this.byteIndex = new SQLiteParameter();
this.command.Parameters.Add(this.data);
this.command.Parameters.Add(this.byteIndex);
this.data.Value = data.Data;
this.byteIndex.Value = data.ByteIndex;
this.command.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)
我得到一个SQLite异常.在检查CommandText时,我发现无论我做什么都没有正确添加参数:INSERT INTO [StringData] VALUE (?,?)
我缺少什么想法?
谢谢
我已经获得了大部分用于向Windows注册表写入值的代码,但是当我将路径更改为虚拟键和我为测试设置的值时,它失败了.我的代码如下:
HKEY hKey;
LPCTSTR sk = TEXT("SOFTWARE\TestSoftware");
LONG openRes = RegOpenKeyEx(HKEY_LOCAL_MACHINE, sk, 0, KEY_ALL_ACCESS , &hKey);
if (openRes==ERROR_SUCCESS) {
printf("Success opening key.");
} else {
printf("Error opening key.");
}
LPCTSTR value = TEXT("TestSoftwareKey");
LPCTSTR data = "TestData\0";
LONG setRes = RegSetValueEx (hKey, value, 0, REG_SZ, (LPBYTE)data, strlen(data)+1);
if (setRes == ERROR_SUCCESS) {
printf("Success writing to Registry.");
} else {
printf("Error writing to Registry.");
}
LONG closeOut = RegCloseKey(hKey);
if (closeOut == ERROR_SUCCESS) {
printf("Success closing key.");
} else {
printf("Error …Run Code Online (Sandbox Code Playgroud) I know there a number of walkthroughs and tutorials floating around out there which describe this activity, but after having read many of them I still can't get this working. If anyone has the patience to wade through the steps I've taken (posted below) and suggest where I may have gone off track I'd be very appreciative. I've spent about a day and a half staring at make files and reading walkthroughs so literally any suggestions would be helpful.
Environment: …
我正在尝试使用C++在Windows注册表中创建一个新的注册表项.这是我到目前为止的代码:
HKEY hKey;
LPCTSTR sk = TEXT("SOFTWARE\\OtherTestSoftware");
LONG openRes = RegCreateKeyEx(
HKEY_LOCAL_MACHINE,
sk,
0,
NULL,
REG_OPTION_BACKUP_RESTORE,
KEY_ALL_ACCESS,
NULL,
&hKey,
NULL);
if (openRes==ERROR_SUCCESS) {
printf("Success creating key.");
} else {
printf("Error creating key.");
}
LPCTSTR value = TEXT("OtherTestSoftwareKey");
LPCTSTR data = "OtherTestData\0";
LONG setRes = RegSetValueEx (hKey, value, 0, REG_SZ, (LPBYTE)data, strlen(data)+1);
if (setRes == ERROR_SUCCESS) {
printf("Success writing to Registry.");
} else {
printf("Error writing to Registry.");
}
//RegDeleteKey(hKey, sk);
LONG closeOut = RegCloseKey(hKey);
if (closeOut == ERROR_SUCCESS) {
printf("Success …Run Code Online (Sandbox Code Playgroud) 我正在为SQLite数据库执行大量INSERTS.我只使用一个线程.我批量写入以提高性能,并在发生崩溃时保持一定的安全性.基本上我在内存中缓存了一堆数据然后在我认为合适时,我遍历所有数据并执行INSERTS.代码如下所示:
public void Commit()
{
using (SQLiteConnection conn = new SQLiteConnection(this.connString))
{
conn.Open();
using (SQLiteTransaction trans = conn.BeginTransaction())
{
using (SQLiteCommand command = conn.CreateCommand())
{
command.CommandText = "INSERT OR IGNORE INTO [MY_TABLE] (col1, col2) VALUES (?,?)";
command.Parameters.Add(this.col1Param);
command.Parameters.Add(this.col2Param);
foreach (Data o in this.dataTemp)
{
this.col1Param.Value = o.Col1Prop;
this. col2Param.Value = o.Col2Prop;
command.ExecuteNonQuery();
}
}
this.TryHandleCommit(trans);
}
conn.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
我现在使用以下噱头来完成最终的工作:
private void TryHandleCommit(SQLiteTransaction trans)
{
try
{
trans.Commit();
}
catch (Exception e)
{
Console.WriteLine("Trying again...");
this.TryHandleCommit(trans);
}
}
Run Code Online (Sandbox Code Playgroud)
我像这样创建我的数据库:
public …Run Code Online (Sandbox Code Playgroud) 我正在学习GWT,并开始了解它.我正处于我的代码变得混乱的地步,所以我要回去并将其合理地分解为复合材料.我遇到的第一个问题是我的工具支持未能为新的Composite类提供initWidget()方法.它确实包含一个默认构造函数.
暂时,我只是填写我的重写initWidget()方法,调用super(initWidget(w)) 我的项目编译并按预期运行,尽管我觉得我必须遗漏一些东西.
在覆盖init时我应该记住什么,以及如果我需要在构造函数中放置什么.还有什么我需要知道的,或者它只是归结为常规的旧Java之后?
澄清 - 我发现这个问题可能有不同的答案取决于你是打算将所述Composite课程作为图书馆的一部分发布还是仅仅是你的独立应用程序的一部分.在这个时候我特别无意开发外部有用的组件(主要是因为我在这个特定的技术中如此绿色.)
谢谢!
我有以下字符串,将无法编译:
String formLookupPull = @"SELECT value1, '"+tableName+"', '"+columnName+"' FROM lkpLookups WHERE ""table"" = '" + tableName + "' and ""field"" = '" + columnName + "';";
Run Code Online (Sandbox Code Playgroud)
违规部分是:
""table"" =
Run Code Online (Sandbox Code Playgroud)
和
""field"" =
Run Code Online (Sandbox Code Playgroud)
编译器在转义序列上变得混乱.任何人都可以看到什么是错的?
我理解OOD中的经验法则是尽量减少对给定对象的所有成员的访问,尽可能合理地完成.
C#和Java似乎都实现了同一组访问修饰符; 然而,令我困惑一段时间的东西现在是为什么Java类似乎主要被声明为公共,而C#类似乎主要被声明为默认. 这些语言是否有一些微妙之处可以强加这些差异,还是仅仅是一个惯例或什么?
我发现自己经常通过我的C#代码(我习惯性地将大多数类公开,除了内部类,匿名类,以及其他类别的狭窄范围和有用性)以试图取悦编译器,但是我想知道我是否可能遗漏了某些东西重要.