Tag: .net

尝试浏览信号器/集线器时,HTTP 503服务不可用

我在VS2012中创建了一个Windows托管的SignalR集线器: public class Startup { public void Configuration(IAppBuilder app) { app.UseCors(CorsOptions.AllowAll); app.MapSignalR(); } } public static class SignalR { public static void Start() { const string url = “http://*:8080”; WebApp.Start(url); } } public class Broadcaster : Hub { public void SendDownloadResult(bool result, string device, string description, string connectionId, string task) { var context = GlobalHost.ConnectionManager.GetHubContext(); […]

用于提取String的某些部分的正则表达式

嘿我试图从字符串中提取某些信息。 字符串看起来像 名称:music mix.mp3大小:2356KB 我想只用扩展名提取文件名。 我对正则表达式知之甚少,所以我希望能在这里得到一些帮助。 谢谢!

为什么“并非所有代码路径都返回一个值”,带有switch语句和枚举?

我有以下代码: public int Method(MyEnum myEnum) { switch (myEnum) { case MyEnum.Value1: return 1; case MyEnum.Value2: return 2; case MyEnum.Value3: return 3; } } public enum MyEnum { Value1, Value2, Value3 } 我得到错误: “Not all code paths return a value” 。 我不明白switch语句怎么不能跳转到指定的情况之一。 enum可以以某种方式为null吗?

如何在不引用程序集(或其中的类型)的情况下使用Ninject Conventions扩展

对于这个长期的问题,提前抱歉,这很长,因为我整天都在挖掘这个问题。 一般问题: 我有一个ASP.Net MVC2应用程序,其中包含以下项目:MyApp.Web,MyApp.Services,MyApp.Data。 我们对接口进行编码并将Ninject 2用于DI / IoC。 但是,我对打字(并忘记输入)感到非常厌倦: Bind.To; 所以,了解Ninject.Extensions.Convensions,我试图用它来自动扫描和注册模块和IXxxx => Xxxx类型的简单依赖项。 我试过的是有效的(但还不够): 我可以使用以下代码来设置Ninject,并且所有内容似乎都按预期连接。 public static IKernel Initialize() { var kernel = new StandardKernel(); kernel.Scan(a => { a.FromAssemblyContaining(); a.FromAssemblyContaining(); a.AutoLoadModules(); a.BindWithDefaultConventions(); a.InTransientScope(); }); return kernel; } 我想要完成的事情: 但是……我想以一种我认为支持的方式更进一步,但我似乎无法让它发挥作用。 由于我们的MyApp.Web项目根本没有使用MyApp.Data(直接),我试图避免引用MyApp.Data。 使用上面的代码,我必须从MyApp.Web引用MyApp.Data,因为对SomeDataClass的编译时引用。 我更愿意为Ninject指定一个程序集的名称进行扫描和注册。 看来,Conventions扩展通过From过载来支持这个,它带有一个字符串(或可枚举的字符串)。 我尝试了什么以及它如何打破: 所以,我在From重载上尝试了几种变体: public static IKernel Initialize() { var kernel = new StandardKernel(); […]

我可以在DLL中嵌入其他文件吗?

我正在通过API为另一个应用程序编写插件。 插件分发了一个DLL。 是否可以在DLL文件中嵌入其他文件,如pdf,图像,chm帮助文件等…我希望能够提供插件的文档,但我仍然希望保留分发插件的能力-in作为单个文件,用户只需拖放到要安装的应用程序即可。

全屏模式,但不要覆盖任务栏

我有一个WinForms应用程序,登录时设置为全屏模式。 我的问题是它还覆盖了Windows任务栏。 我不希望我的应用程序覆盖任务栏。 如何才能做到这一点?

在渐变上获取特定位置的颜色

我有GradientStopCollection: GradientStopCollection grsc = new GradientStopCollection(3); grsc.Add(new GradientStop(Colors.Red, 0)); grsc.Add(new GradientStop(Colors.Yellow, .5)); grsc.Add(new GradientStop(Colors.Green, 1)); 我可以在特定位置获得颜色吗? 例如:位置0:红色位置.5:黄色位置.75:?? 有第三方课可以这样做吗?

MethodInfo.Invoke性能问题

我正在读取文件和从文件写入数据。 文件中的数据可以是浮点数,双精度数,整数等。直到运行时才知道该类型。 我将存储在文件中的数据类型称为Tin。 数据被读入或写入Tout类型的数组。 直到运行时才知道这种类型。 代码序列是这样的。 在Open方法中,Tin和Tout是已知的,我们可以为已知数据类型创建读写方法。 Open(…) { MethodInfo ReadMethod = typeof(…)GetMethod(“ReadGeneric”).MakeGenericMethod(new Type[] {typeof(Tin), typeof(Tout)})); } 读写循环重复数百万次,并依赖于reflection来调用适当的方法,如下所示。 Read loop { var values = (Tout[])ReadMethod.Invoke(this,new object[]{index}); process … } 当使用性能分析器检查此代码时,如果只花时间调用运行时读写方法,我会发现c collosal amount。 我该如何加快速度呢?

带有List 的SerializationBinder

我正在尝试使BinaryFormatter在我的程序集的不同版本中工作。 我希望反序列化的实际类在每个程序集版本中完全相同,但在反序列化时,因为序列化对象包括它们来自的程序集名称,所以BinaryFormatter抱怨它无法找到正确的程序集。 所以我创建了一个自定义的SerializationBinder ,它告诉BinaryFormatter总是反序列化到当前的程序集版本。 我的方案工作正常,可以反序列化对象,但如果我的对象是T的列表,它不起作用,其中T是从我的程序集的旧版本序列化的类型。 是否有一些方法可以使用Lists和其他generics类型,其中type参数是我的程序集中的类? //the object i want to deserialize class MyObject { public string Name{get;set;} } //my binder class class MyBinder : SerializationBinder { static string assemblyToUse = typeof (MyObject).Assembly.FullName; public override Type BindToType(string assemblyName, string typeName) { var isMyAssembly = assemblyName.StartsWith(“oldAssemblyName”); var assemblyNameToUse = isMyAssembly ? assemblyToUse : assemblyName; var tn […]

在C#/ WPF中发生特定事件时强制窗口闪烁

我正在使用C#/ WPF来创建一个应用程序。 在该应用程序中,我想在发生特定事件时使窗口闪烁,以便该应用程序的用户知道发生了什么。 我怎样才能在我的C#WPF应用程序中得到它。 就像在Yahoo Messenger中一样,如果你收到消息,那么消息窗口会闪烁以获得你的关注,我想在我的应用程序中使用该效果。