我试图使用这个中间件:
public class SecurityHeadersMiddleware
{
private readonly RequestDelegate next;
public SecurityHeadersMiddleware(RequestDelegate next)
{
this.next = next;
}
public async Task Invoke(HttpContext context)
{
context.Response.OnStarting(state =>
{
var ctx = (HttpContext)state;
if (!ctx.Response.Headers.ContainsKey("Arr-Disable-Session-Affinity"))
{
ctx.Response.Headers.Add("Arr-Disable-Session-Affinity", "True"); // Disables the Azure ARRAffinity cookie
}
if (ctx.Response.Headers.ContainsKey("Server"))
{
ctx.Response.Headers.Remove("Server"); // For security reasons
}
if (ctx.Response.Headers.ContainsKey("x-powered-by") || ctx.Response.Headers.ContainsKey("X-Powered-By"))
{
ctx.Response.Headers.Remove("x-powered-by");
ctx.Response.Headers.Remove("X-Powered-By");
}
if (!ctx.Response.Headers.ContainsKey("X-Frame-Options"))
{
ctx.Response.Headers.Add("X-Frame-Options", "DENY");
}
return Task.FromResult(0);
}, context);
await next(context);
}
}
Run Code Online (Sandbox Code Playgroud)
x-powered-by仍然存在于响应标题中,表示asp.net
假设我有一个看起来像这样的简单结构:
public class Range
{
public DateTime Start { get; set; }
public DateTime End { get; set; }
public Range(DateTime start, DateTime end)
{
this.Start = start;
this.End = end;
}
}
Run Code Online (Sandbox Code Playgroud)
我创建了一个像这样的集合:
var dr1 = new Range(new DateTime(2011, 11, 1, 12, 0, 0),
new DateTime(2011, 11, 1, 13, 0, 0));
var dr2 = new Range(new DateTime(2011, 11, 1, 13, 0, 0),
new DateTime(2011, 11, 1, 14, 0, 0));
var dr3 = new Range(new DateTime(2011, 11, 1, 14, 0, …Run Code Online (Sandbox Code Playgroud) 在我的应用程序的几个部分中,我需要一个用户可以输入密码的控件.密码字段是安全的,但我希望用户能够将字段切换为纯文本并检查拼写错误等.
密码字段本身没问题.我将NSSecureTextField子类化以获得我想要的行为.我使它可绑定,所以我可以从另一个控件(比如一个Checkbox)切换显示.

现在,我想在我的应用程序中的多个位置重用它.我可以在我需要的任何地方使用我的自定义安全文本字段旁边的复选框.但我更愿意将这些部分组合成一个可重用的组件.
所以我使用界面构建器创建一个:

现在,我如何在不同的窗口中使用它?我在窗口中添加了"自定义视图"组件,并正确设置了它的类型:

但在运行时,我只是得到一个空的空间.
1 - 大概是因为我的视图是在.xib中定义的 - 我需要在代码中做一些事情来从.xib加载我的PasswordView实例; 但究竟我需要做什么?我无法解决这个问题.
特别:
从.xib加载我的视图实例的进程/ API是什么?我很难找到关于此的文档.
一旦我加载了我的视图实例,如何将其插入到我的自定义视图'占位符'的位置?据推测,我需要一个出口到我的自定义视图,但那么呢?我只是将加载的实例分配给插座吗?我是否应该将其添加为插座的子视图?
这个逻辑应该在哪里发生?在init里面,在AwakeFromNib里面?
2 - 我知道我可以使用NSViewController作为我的自定义视图(示例),并以这种方式加载它.但我真的需要一个视图控制器吗?看来我应该能够创建独立的视图并轻松实例化它们......但也许这不是Cocoa的"方式"?在我看来,应该有一种直接的方法来组合来自多个.xibs的视图,而不需要每个子视图的控制器(可能只是一个文本字段或按钮),但我只是找不到它. ..
先感谢您.
我正在尝试将现有的WCF客户端应用程序移植到Mono下的Linux上运行.现在我正在测试所有东西,搞清楚什么对Mono有效,什么不对.
客户端通过basicHttpBinding进行超级简单的调用.它工作得很好,直到我启用SSL(即在绑定中指定BasicHttpSecurityMode.Transport).
异步操作中的异常:System.Net.WebException:获取响应流时出错(写入:身份验证或解密失败.):SendFailure ---> System.IO.IOException:身份验证或解密失败.---> Mono.Security.Protocol.Tls.TlsException:从服务器收到的证书无效.错误代码:0xffffffff800b010a
我读过Mono安全常见问题解答 ; 但是,服务器上的SSL证书来自根CA(购买的证书) - 由Equifax安全证书颁发机构颁发.我在针对.svc URL的Ubuntu安装上运行了TlsTest工具,没有任何问题/错误.我也可以在Firefox中使用该服务(没有安全警告).
我错过了什么?
是否可以使用集合属性在LINQ中进行GroupBy?
例如
void Main()
{
var t1 = new Test() { Children = new List<string>() { "one", "two" } };
var t2 = new Test() { Children = new List<string>() { "one", "two" } };
var t3 = new Test() { Children = new List<string>() { "one", "three" } };
var tests = new List<Test>() { t1, t2, t3 };
var anon = from t in tests
select new
{
Children = t.Children
};
anon.GroupBy(t => t.Children).Dump();
}
public class …Run Code Online (Sandbox Code Playgroud) 目前正在为需要播放高清WMV和H264视频的Windows .NET应用程序进行原型设计.我的测试文件是完整的1080p.
目标硬件具有弱Atom处理器但强大的NVidia 9400显卡.我知道图形是集成的,但我的理解是它们适合于视频播放.
在Windows 7上测试,如果我使用MediaElement控件在WPF中播放我的测试文件,我的CPU使用率为0.
但是,目标操作系统是Windows XP,我们可能没有.NET 3.0.因此,应用程序需要在WinForms中运行.由于各种原因,Windows Media Player ActiveX不是一个选项.所以我们正在研究DirectShow.
我使用DirectShow.NET组合了一个播放器,使用VMR9全屏播放视频.使用这种方法,我的WMV文件占用了20-30%的CPU.我不得不安装一个mp4 muxer/demuxer甚至可以播放H264文件,然后它们消耗了40-50%的CPU.
tldr:如何在WinForms中实现硬件加速的WMV和H264视频播放?
谢谢!
我能够使用MonoTouch轻松将现有的.NET桌面应用程序移植到iPhone.作为该过程的一部分,我必须为我的所有项目创建新的iOS版本 - MonoTouch类库项目链接现有项目中的文件.这非常有效.
现在我想做一个MonoDroid端口.我可以参考我的iOS库吗?或者他们需要成为MonoDroid类库吗?
根据文档,MonoTouch和MonoDroid配置文件似乎是相同的:
http://monotouch.net/Documentation/Assemblies http://mono-android.net/Documentation/Assemblies
有没有人在MonoDroid中使用过MonoTouch类库?
提前致谢
我正在尝试为Android安装Xamarin Mono,但我很难过.我安装了Java SDK和Android SDK.现在,当我运行Xamarin安装程序时,它说无法找到Android SDK,然后继续下载SDK.在达到100%后,它会回到0%并再次下载,它会一遍又一遍地执行此操作,并且永远不会超过此阶段.有没有办法可以让它跳过这一步或告诉它安装了Android SDK?
我的应用程序从服务器下载视频文件并使用VideoView播放.我在.mp4容器中使用H264(AVC)编码的文件.
在我的带有3.0.1的摩托罗拉Xoom上,它完美运行.
在我的三星Galaxy Tab 10.1与3.1,它不起作用.我只是收到错误消息"抱歉,视频无法播放".在代码中捕获错误只会给我'MEDIA_ERROR_UNKNOWN'.
我怀疑编解码器问题(尽管我的编解码器是有效的,根据http://developer.android.com/guide/appendix/media-formats.html).我拍摄相同的视频文件并手动将其复制到设备 - 设备会提示我转换视频.生成的文件在设备上的视频应用程序中正常播放.我将文件从设备上取回(在VLC中检查它告诉我视频编解码器现在是mp4v)并尝试通过我的应用程序播放它 - 相同的结果.
是否存在导致此问题的特定于3.1或Galaxy Tab的内容?
有人可以向我解释为什么我似乎无法从AppDomain.Assembly加载事件中抛出异常?例如:
class Program
{
static Program()
{
AppDomain.CurrentDomain.UnhandledException += (s, a) =>
{
Console.WriteLine("Caught exception!");
};
AppDomain.CurrentDomain.AssemblyLoad += (s, a) =>
{
Console.WriteLine(string.Format("Assembly {0} loaded", a.LoadedAssembly.FullName));
throw new Exception();
Console.WriteLine("Should never get here...");
};
}
static void Main(string[] args)
{
Console.WriteLine(new ClassLibrary1.Class1().TestString());
Console.WriteLine();
Console.WriteLine("Done...");
Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud)
执行此操作时,输出如下:
Assembly ClassLibrary1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null loaded
TestString
Done...
Run Code Online (Sandbox Code Playgroud)
任何人都可以向我解释这种行为吗?谢谢.
编辑澄清一些事情:
当我希望它运行时,程序集加载事件运行正常.但我的异常永远不会被抛出
这是一个从较大的应用程序中提取的蒸馏示例.我想在装载后检查装配,如果我不喜欢它,我想快速失败......但是我的例外不会"发生"