小编Wai*_*Lee的帖子

读取X-Forwarded-For标题

我想读取X-Forwarded-For请求中标头值的值.

我试过了

HttpContext.Current.Request.Headers["X-Forwarded-For"].Split(new char[] { ',' }).FirstOrDefault();  
Run Code Online (Sandbox Code Playgroud)

在C#中.

或者我需要拆分标头":"并取第二个字符串吗?维基百科说,我这是在问这个问题

该字段的一般格式为:X-Forwarded-For:client1,proxy1,proxy2

c# asp.net

19
推荐指数
3
解决办法
3万
查看次数

是什么导致user.config为空?如何在不重新启动的情况下恢复?

我注意到在我的应用程序的user.config文件以某种方式损坏并在打开时为空的几台机器上.我似乎无法弄清楚为什么会这样.是否有一个常见的事情会导致这种情况?有什么方法可以安全地防止这个

我的第二个问题是如何恢复状态?我捕获异常并删除user.config文件,但我找不到一种方法来恢复配置而不重新启动应用程序.我在Properties对象上执行的所有操作都会导致以下错误:

"配置系统无法初始化"

重置,重新加载和升级都无法解决问题.

这是我在异常后删除的代码:

catch (System.Configuration.ConfigurationErrorsException ex)
{
    string fileName = "";
    if (!string.IsNullOrEmpty(ex.Filename))
        fileName = ex.Filename;
    else
    {
        System.Configuration.ConfigurationErrorsException innerException = ex.InnerException as System.Configuration.ConfigurationErrorsException;
        if (innerException != null && !string.IsNullOrEmpty(innerException.Filename))
            fileName = innerException.Filename;
    }
    if (System.IO.File.Exists(fileName))
        System.IO.File.Delete(fileName);
}
Run Code Online (Sandbox Code Playgroud)

c# app-config

19
推荐指数
1
解决办法
4877
查看次数

.NET在数值计算中的速度

根据我的经验,.NET比本机代码慢2到3倍.(我实施了L-BFGS进行多变量优化).

我已经在stackoverflow上跟踪广告到 http://www.centerspace.net/products/

速度真的很惊人,速度接近原生代码.他们怎么能这样做?他们说:

问:NMath是"纯粹的".NET吗?

答:答案在某种程度上取决于您对"纯.NET"的定义.NMath是用C#编写的,加上一个小的Managed C++层.但是,为了更好地执行基本线性代数运算,NMath确实依赖于本机Intel Math Kernel Library(包含在NMath中).但是没有COM组件,没有DLL - 只是.NET程序集.此外,在托管C++层中分配并由本机代码使用的所有内存都从托管堆中分配.

有人可以向我解释一下吗?

.net c# managed-c++ managed-code nmath

18
推荐指数
4
解决办法
6317
查看次数

WPF Adorner Layer Outside Window

我有一个带文本框控件的WPF窗口.该控件具有一个装饰器,当文本框具有键盘焦点时,该装饰器可见.

正如您在下面的屏幕截图中看到的那样,装饰器仅限于窗口的边界.如何才能显示完整的装饰?

在此输入图像描述

Adorner模板是:

<DataTemplate x:Key="ContextualInfoDataTemplate">
    <Border 
        Background="#E1E1E1" 
        CornerRadius="6"
        Margin="50,36,0,0">
        <Border.Effect>
            <DropShadowEffect/>
        </Border.Effect>
        <Grid Width="200" Margin="4,3,4,4">
            <TextBlock TextWrapping="Wrap" Text="OverridenAutomationId"/>
        </Grid>
    </Border>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)

wpf adorner

18
推荐指数
1
解决办法
1355
查看次数

当小吃栏在Android中显示时,浮动动作按钮不会上升

  1. 我在我的应用程序中使用小吃栏和FAB同一页,每当Snackbar显示浮动操作按钮不上升.

  2. 我使用第三方库attachToListView工作正常

    import com.melnykov.fab.FloatingActionButton;
    
    Run Code Online (Sandbox Code Playgroud)

如果我使用默认库"无法解析attachToListView"

import android.support.design.widget.FloatingActionButton;
Run Code Online (Sandbox Code Playgroud)

我的需要:

  1. attachToListView应该工作(当Listview向下滚动FAB时将消失).

  2. 每当Snackbar显示浮动操作按钮时应该上升.

帮帮我如何解决这个问题.

第三方图书馆链接

编辑:1

我删除了第三方库添加了默认导入(导入android.support.design.widget.FloatingActionButton),FAB正在上升但是Attachtolistivew没有解决.

编辑:2

我使用Listview在我的活动中,使用FAB和Snackbar.所以我需要像FAB一样的两个选项在Snackbar打开时以及当Listview向下滚动时应该隐藏FAB.

我的SnackBar代码:

 Snackbar snack = Snackbar.make(fab1, " Successfully ...!",Snackbar.LENGTH_SHORT);
                    View snackbarView = snack.getView();
                    snackbarView.setBackgroundColor(Color.parseColor("#f44336"));
                    snack.show();
Run Code Online (Sandbox Code Playgroud)

Main.java

import com.melnykov.fab.FloatingActionButton;
     @Override
        protected void onCreate(Bundle savedInstanceState) 
    {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.fabview);

            fab1 = (FloatingActionButton) findViewById(R.id.fab);

            fab1.setShadow(true);
            //fab.attachToListView(provider_service_list);

            //FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
            fab1.attachToListView(listViewData, new ScrollDirectionListener()
            {
                @Override
                public void onScrollDown() {
                    Log.d("ListViewFragment", "onScrollDown()"); …
Run Code Online (Sandbox Code Playgroud)

android floating-action-button android-snackbar

18
推荐指数
2
解决办法
8903
查看次数

WPF DataBound树视图展开/折叠

我只是想找到一种方法来控制TreeView节点通过它们绑定的对象的扩展/折叠.该对象具有一个IsExpanded属性,我想使用它来显示TreeView基于该属性展开或折叠的节点本身.

这是我的代码:

C#:

public partial class Window2 : Window
{
    public Window2()
    {
        InitializeComponent();

        this.DataContext = new List<Parent>() { Base.GetParent("Parent 1"), Base.GetParent("Parent 2") };
    }
}

public class Base
{
    public string Name { get; set; }
    public bool IsExpanded { get; set; }

    public static Parent GetParent(string name)
    {
        Parent p = new Parent() { Name = name };

        p.Children.Add(new Child() { Name = "Child 1", GrandChildren = new ObservableCollection<GrandChild>() { new GrandChild() …
Run Code Online (Sandbox Code Playgroud)

data-binding wpf treeview expand collapse

17
推荐指数
1
解决办法
3万
查看次数

17
推荐指数
3
解决办法
9404
查看次数

如何在C#中下载zip文件?

我使用HTTP GET在浏览器中下载zip文件,例如 https://example.com/up/DBID/a/rRID/eFID/vVID(不是确切的URL)

现在,当我尝试在桌面应用程序中使用C#代码(与上面相同的GET方法)进行相同的下载时,下载的zip文件不是有效的存档文件.当我在记事本中打开此文件时,它是一些HTML页面.

我想我没有正确设置一些标题.我四处寻找例子.我发现了几个wrt上传,但没有看到任何下载.

码:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.ContentType = "application/zip";
try
{
    HttpWebResponse res = (HttpWebResponse)request.GetResponse();
    using (StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.Default))
    {
        StreamWriter oWriter = new StreamWriter(@"D:\Downloads\1.zip");
        oWriter.Write(sr.ReadToEnd());
        oWriter.Close();
    }
    res.Close();
}
catch (Exception ex)
{
}
Run Code Online (Sandbox Code Playgroud)

c# get http download

17
推荐指数
2
解决办法
4万
查看次数

将Nininject MVC与类库一起使用

我对IoC框架很陌生,所以请原谅术语.

所以我所拥有的是一个带有Nininject MVC参考的MVC项目.我的项目中有其他类libarys,例如Domain层,我希望能够在那里使用Ninject框架,但我的所有绑定都在MVC项目NinjectWebCommon.csApp_Start文件夹下:

private static void RegisterServices(IKernel kernel)
{
    kernel.Bind<IHardwareService>().To<WindowsHardwareService>();
    kernel.Bind<IStatusApi>().To<StatusApiController>();
}
Run Code Online (Sandbox Code Playgroud)

目前在我的类库中我使用构造函数注入,但有时我不得不对依赖项进行硬编码:

var service = new WindowsHardwareService();
Run Code Online (Sandbox Code Playgroud)

当我希望能够做到以下几点时:

IKernel kernel = new StandardKernel(.....);
var context = kernel.Get<IHardwareService>();
Run Code Online (Sandbox Code Playgroud)

我没有做以下因为我没有任何模块?我读过的所有文档主要针对的是常规Ninject库而不是MVC版本.

我需要做什么,以及如何将常规Ninject库与MVC版本一起使用?

更新

这是我尝试过的:

这样做的目的是使每个项目都可以加载模块并获得当前注入的接口.

App_Start/NinjectWebCommon.cs(在MVC项目中)

private static void RegisterServices(IKernel kernel)
{
    var modules = new IoCModules();
    var newKernal = modules.GetKernel();

    kernel = newKernal;
}
Run Code Online (Sandbox Code Playgroud)

IoCModules.cs(在Project.Ioc项目中)

public class IoCModules
{
    public IKernel GetKernel()
    {
        var modules = new CoreModule();
        return modules.Kernel;
    }
}
Run Code Online (Sandbox Code Playgroud)

CoreModule.cs(在Project.IoC.Modules项目中)< - …

c# asp.net-mvc ninject ioc-container

17
推荐指数
1
解决办法
1040
查看次数

使用正则表达式匹配在其中某处有5个连续数字增加的数字

首先,这有点被问.但是我无法修改它以符合我的要求.

简而言之:我想要一个与表达式匹配的正则表达式,当且仅当它只包含数字时,表达式中某处有5个(或更多)连续数字.

我理解的逻辑

^(?=\d{5}$)1*2*3*4*5*6*7*8*9*0*$
Run Code Online (Sandbox Code Playgroud)

但是,这会将表达式限制为5位数.我希望能够在表达式之前和之后成为数字.所以1111345671111应该匹配,而不11111应该.

我认为这可行:

^[0-9]*(?=\d{5}0*1*2*3*4*5*6*7*8*9*)[0-9]*$
Run Code Online (Sandbox Code Playgroud)

我解释为:

  • ^$:整个表达式必须只包含这两个符号之间的内容

  • [0-9]*:0- 9,0或更多次之间的任何数字后跟:

  • (?=\d{5}0*1*2*3*4*5*6*7*8*9*):找到至少5个增加数字的部分,后跟:

  • [0-9]*:0- 9,0或更多次之间的任何数字.

但是这个正则表达式是不正确的,例如11111匹配.如何使用正则表达式解决此问题?所以要匹配的表达式示例:

  • 00001459000
  • 12345

这应该不匹配:

  • abc12345
  • 9871234444

regex

17
推荐指数
2
解决办法
749
查看次数