我正在使用带有Windows Azure Storage SDK的Webjob.当一个新项目出现在队列中时,我的类中会调用一个方法.根据SDK文档,如果我将TextWriter作为参数添加到我的方法中,SDK将为我提供一个我可以写入的TextWriter,它将显示在Webjob的日志记录基础结构中.这使得诊断问题和解决问题非常容易.
public async static void ProcessQueueMessage([QueueTrigger("queueName")]MyModelType model, TextWriter logger)
{
await logger.WriteLineAsync(string.Format("Processing Item {0}", model.SasUrl));
// Some work here
await logger.WriteLineAsync(string.Format("Done Processing Item {0}", model.SasUrl));
}
Run Code Online (Sandbox Code Playgroud)
但是,很常见的是,在我的方法体内,TextWriter正在被处理掉.我在第二个logger.WriteLineAsync上遇到以下异常:
System.ObjectDisposedException was unhandled by user code
HResult=-2146232798
Message=Cannot write to a closed TextWriter.
Source=mscorlib
ObjectName=""
StackTrace:
at System.IO.__Error.WriterClosed()
at System.IO.StringWriter.Write(Char[] buffer, Int32 index, Int32 count)
at System.IO.TextWriter.WriteLine(String value)
at System.IO.TextWriter.SyncTextWriter.WriteLine(String value)
at System.IO.TextWriter.SyncTextWriter.WriteLineAsync(String value)
at NameOfProject.Program.<ProcessQueueMessage>d__8.MoveNext() in c:\Dev\Path\To\Program.cs:line 173
InnerException:
Run Code Online (Sandbox Code Playgroud)
我找不到其他人遇到这个问题,所以我无法想象SDK或webjobs基础设施中存在错误.
有没有办法告诉记录器是否在通话前被处理掉了?
有没有办法在我的方法中创建一个新的记录器,它将参与WebJobs记录子系统和UI?
我希望能够在Azure网站(或Web应用程序)上禁用TLS 1.0协议和RC4密码,我无法弄清楚它是否可能.(编辑:我知道在Azure网站上默认禁用SSL 3.0,但我特别想禁用TLS 1.0)
我知道要更新哪些注册表设置,但问题当然是我无法访问操作系统.
还有的NWebsec启动任务,使您可以配置Web角色(或云服务),但我的理解是,这种解决方案并不适用于Web应用程序.
有没有解决方法?
我正在从第三方提供程序解析一些XML文件,不幸的是,它并不总是格式良好的XML,因为有时某些元素包含重复的属性.
我无法控制源,我不知道哪些元素可能有重复的属性,也不知道重复的属性名称.
显然,将内容加载到XMLDocument对象中会在重复属性上引发XmlException,因此我可以使用a XmlReader逐个元素地逐步执行XML元素,并在到达有问题的元素时处理重复的属性.
然而,在我有机会对元素的属性进行插入之前,它XmlException被提升了reader.Read().
以下是演示此问题的示例方法:
public static void ParseTest()
{
const string xmlString =
@"<?xml version='1.0'?>
<!-- This is a sample XML document -->
<Items dupattr=""10"" id=""20"" dupattr=""33"">
<Item>test with a child element <more/> stuff</Item>
</Items>";
var output = new StringBuilder();
using (XmlReader reader = XmlReader.Create(new StringReader(xmlString)))
{
XmlWriterSettings ws = new XmlWriterSettings();
ws.Indent = true;
using (XmlWriter writer = XmlWriter.Create(output, ws))
{
while (reader.Read()) /* Exception throw here when Items element …Run Code Online (Sandbox Code Playgroud) 添加X-Frame-Options DENY到响应头有助于防止网页的恶意框架,作为一种解决方案,它肯定比客户端JavaScript解决方案更好.
但它有多有用呢?所有(现代)浏览器都支持它,是否可以被劫持您网站的黑客绕过?
在SQL Server 2008中配置了数据库恢复模型full,是查询等
从TableName中选择col1,col2,col3
记录到事务日志文件.
换句话说,我可以使用事务日志备份确定特定日期在数据库上运行的查询吗?
azure ×1
c# ×1
http-headers ×1
iframe ×1
security ×1
sql-server ×1
ssl ×1
validation ×1
xml ×1