你会在哪里写一个错误日志文件,比如ErrorLog.txt在Windows中?请记住,需要向基本用户开放文件写入权限的路径.
我知道事件日志是编写错误的可能位置,但它是否适用于"用户"级别权限?
编辑:我的目标是Windows 2003,但我提出的问题是,有一个"一般指南",用于编写错误日志的位置.
至于EventLog,我之前在ASP.NET应用程序中遇到过问题,我想要登录到Windows事件日志,但是我遇到了安全问题,让我感到心痛.(我不记得我遇到的问题,但记得有它们.)
我正在设计一个在运行时动态创建自己的GUI的程序.
我正在寻找一个类似实用程序的firebug,它允许我在表单周围移动鼠标以查看突出显示的不同控件,并查看它们的大小,填充,边距等设置为什么.
谢谢,
基思
我有一个公共静态类,我希望有一个ToString()方法.
我已将其定义为公共静态字符串ToString(),但得到以下警告:
'Class.ToString()'隐藏继承的成员'object.ToString()'.要使当前成员覆盖该实现,请添加override关键字.否则添加新关键字.
如果我添加override关键字,我会收到此错误:
静态成员'Class.ToString()'不能标记为覆盖,虚拟或抽象
如何摆脱该警告并让我的静态类具有ToString()方法.
谢谢,
基思
我有DataSet一个DataTable是正确填写一个单一的DataRow通过TableAdapter.
我可以使用以下代码从DataRow中提取数据:
dataFileID = (int)this.dataFileDataRow["DataFileID"];
dataFileName = (string)this.dataFileDataRow["DataFileName"];
dataFileDate = (DateTime)this.dataFileDataRow["DataFileDate"];
Run Code Online (Sandbox Code Playgroud)
我有另一个名为DataFile的列varbinary(max).
当我尝试从DataRow上面提取该列的数据时,我什么都没得到.
byte[] fileFromDatabase = (byte[])this.dataFileDataRow["DataFile"];
Run Code Online (Sandbox Code Playgroud)
如果我在这个位置放置一个断点,我可以查看dataFileDataRow,查看ItemArray属性,看看二进制数据是否位于ItemArray中的位置5.
我已尝试使用其索引直接访问ItemArray,但字节数组未被复制到fileFromDatabase变量.
我还注意到将fileFromDatabase添加到我的手表会产生以下错误:
"名称'fileFromDatabase'在当前上下文中不存在"
执行仍然与fileFromDatabase的定义在同一个块中,所以我不明白它是如何脱离上下文的.
我将Visual Studio的配置设置为Release而不是Debug.这导致我在尝试检查fileFromDatabase时没有看到我正在寻找的实时调试信息.从Release转换到Debug后,我现在可以在手表中看到变量,并且可以验证上面的代码是否正常工作.
你如何编写While循环的语法?
#int i = 0;
while (i != 10)
{
Console.WriteLine(i);
i++;
}
Run Code Online (Sandbox Code Playgroud)
Dim i As Integer = 0
While i <> 10
Console.WriteLine(i)
i += 1
End While
Run Code Online (Sandbox Code Playgroud)
<?php
while(CONDITION)
{
//Do something here.
}
?>
<?php
//MySQL query stuff here
$result = mysql_query($sql, $link) or die("Opps");
while($row = mysql_fetch_assoc($result))
{
$_SESSION['fName'] = $row['fName'];
$_SESSION['lName'] = $row['lName'];
//...
}
?>
Run Code Online (Sandbox Code Playgroud)
i = 0
while i != 10:
print i
i += 1
Run Code Online (Sandbox Code Playgroud) 我有一个二维数组,我需要加载数据.我知道数据的宽度(22个值),但我不知道高度(估计大约4000个记录,但变量).
我声明如下:
float[,] _calibrationSet;
....
int calibrationRow = 0;
While (recordsToRead)
{
for (int i = 0; i < SensorCount; i++)
{
_calibrationSet[calibrationRow, i] = calibrationArrayView.ReadFloat();
}
calibrationRow++;
}
Run Code Online (Sandbox Code Playgroud)
这会导致NullReferenceException,所以当我尝试像这样初始化它时:
_calibrationSet = new float[,];
Run Code Online (Sandbox Code Playgroud)
我得到一个"数组创建必须有数组大小或数组初始化程序."
谢谢,基思
我被一个设计糟糕的解决方案所困扰.它不是线程安全的!
我在解决方案中有几个共享类和成员,在开发期间一切都很酷......
BizTalk已经沉没了我的战舰.
我们使用自定义BizTalk适配器来调用我的程序集.适配器正在调用我的代码并并行运行,所以我假设它在同一个AppDomain下使用多个线程.
我想做的是让我的代码在自己的AppDomain下运行,这样我所拥有的共享问题就不会相互混淆.
我有一个非常简单的类,BizTalk适配器实例化然后运行Process()方法.
我想在我的Process()方法中创建一个新的AppDomain,所以每次BizTalk旋转另一个线程时,它都会有自己的静态类和方法版本.
BizTalkAdapter代码:
// this is inside the BizTalkAdapter and it is calling the Loader class //
private void SendMessage(IBaseMessage message, TransactionalTransmitProperties properties)
{
Stream strm = message.BodyPart.GetOriginalDataStream();
string connectionString = properties.ConnectionString;
string msgFileName = message.Context.Read("ReceivedFileName", "http://schemas.microsoft.com/BizTalk/2003/file-properties") as string;
Loader loader = new Loader(strm, msgFileName, connectionString);
loader.Process();
EventLog.WriteEntry("Loader", "Successfully processed: " + msgFileName);
}
Run Code Online (Sandbox Code Playgroud)
这是BizTalk调用类:
public class Loader
{
private string connectionString;
private string fileName;
private Stream stream;
private DataFile dataFile;
public Loader(Stream stream, string …Run Code Online (Sandbox Code Playgroud) 我正在编写一个winforms c#2.0应用程序,需要将XML文件放入SharePoint上的文档库中.
我想使用WebService而不是使用对象模型(这里没有sharepoint.dll引用)
我目前正在使用http://webserver/site/_vti_bin/copy.asmx webservice.
这是一些代码:
byte[] xmlByteArray;
using (MemoryStream memoryStream = new MemoryStream())
{
xmlDocument.Save(memoryStream);
xmlBytes = memoryStream.ToArray();
}
string[] destinationUrlArray = new string[] {"http://webserver/site/Doclib/UploadedDocument.xml"};
FieldInformation fieldInfo = new FieldInformation();
FieldInformation[] fields = { fieldInfo };
CopyResult[] resultsArray;
using (Copy copyService = new Copy())
{
copyService.Credentials = CredentialCache.DefaultCredentials;
copyService.Url = "http://webserver/site/_vti_bin/copy.asmx";
copyService.Timeout = 600000;
uint documentId = copyService.CopyIntoItems("", destinationUrlArray, fields, xmlByteArray, out resultsArray);
}
Run Code Online (Sandbox Code Playgroud)
当这段代码运行时,我在resultsArray out参数中得到一个结果:
DestinationURL: "http://webserver/site/Doclib/UploadedDocument.xml"
ErrorCode: UnKnown
ErrorMessage: "Object reference not set to an instance …Run Code Online (Sandbox Code Playgroud) 我有一个@ Ajax.ActionLink调用一个删除操作.现在我想使用JQuery UI Dialog确认Ajax链接的常规"Confirm"属性.我使用不显眼的javaScript将事件挂钩到Ajax.ActionLink.但是提交的动作和e.preventDefault(); 通过一个错误.谁能告诉我为什么会这样?
这是我的jQuery代码:
$("[data-dialog-confirm]").click(function (e) {
e.preventDefault();
var theHREF = $(this).attr("href");
$("#dialog-confirm").dialog('option', 'buttons', {
"Delete this item": function () {
window.location.href = theHREF;
$(this).dialog("close");
},
"Cancel": function () {
$(this).dialog("close");
}
});
$("#dialog-confirm").dialog("open");
});
Run Code Online (Sandbox Code Playgroud)
这是我的MVC代码:
@Ajax.ActionLink("Delete", "DeleteConfirmed", new { id = item.Id },
new AjaxOptions
{
HttpMethod = "POST",
OnSuccess = "refreshList"
},
new {data_dialog_confirm="true" }
)
Run Code Online (Sandbox Code Playgroud) 是否有人建议采用二进制数据文件的设计模式,将其中的一部分解析为对象并将结果数据存储到数据库中?
我认为可以使用类似的模式来获取XML或制表符分隔的文件,并将其解析为其代表对象.
常见的数据结构包括:
(Header)(DataElement1)(DataElement1SubData1)(DataElement1SubData2)(DataElement2)(DataElement2SubData1)(DataElement2SubData2)(EOF)
我认为一个好的设计将包括一种基于文件类型或标题中包含的一些定义的元数据来更改解析定义的方法.因此,工厂模式将成为Parser部件整体设计的一部分.
c# ×5
.net ×2
appdomain ×1
biztalk ×1
bytearray ×1
conditional ×1
datarow ×1
debugging ×1
file-upload ×1
fileparse ×1
jquery ×1
overriding ×1
permissions ×1
sharepoint ×1
static ×1
tableadapter ×1
utilities ×1
web-services ×1
winforms ×1