问题列表 - 第30971页

以低完整性级别打开命名管道

我正在开发一个由两个模块组成的应用程序.这些模块在以下环境中通过命名管道进行通信:

  • Windows 7家庭高级版x64
  • Visual Studio 2008
  • C#/ .Net 3.5

服务器以管理员权限运行(高完整性级别).客户端以低完整性级别运行.为了使客户端可以连接到服务器,我需要以低完整性级别创建管道.我设法只在服务器以中等完整性级别运行时才这样做.

我测试了以下设置:

  1. 服务器:高,客户端:低=>访问被拒绝
  2. server:high,client:medium => access refused
  3. server:high,client:high => OK
  4. server:medium,client:low => OK
  5. server:medium,client:medium => OK
  6. server:low,client:low => OK

设置#4显示创建的命名管道的完整性级别与进程的完整性级别不同,这很好.但是,我感兴趣的设置是第一个.

我有一个样本,可以很容易地测试.如果连接成功,客户端将写入"已连接",服务器将写入"已接收连接".如果连接失败,客户端将写入"失败",服务器将保持"等待"状态.

以下是我执行客户端程序的方法(对于服务器,只需将NamePipeClient替换为NamedPipeServer):

  • 中等诚信水平:
    • 打开命令提示符
    • icacls NamedPipeClient.exe/setintegritylevel Medium

    • NamedPipeClient.exe

  • 低完整性水平:
    • 打开命令提示符
    • icacls NamedPipeClient.exe/setintegritylevel低

    • NamedPipeClient.exe

  • 高完整性水平:
    • 在管理员模式下打开命令提示符
    • icacls NamedPipeClient.exe/setintegritylevel高

    • NamedPipeClient.exe

任何帮助将不胜感激!

服务器代码

Program.cs中

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Win32.SafeHandles;
using System.IO.Pipes;

namespace NamedPipeServer
{
    class Program
    {
        static void Main(string[] args)
        {
            SafePipeHandle handle = LowIntegrityPipeFactory.CreateLowIntegrityNamedPipe("NamedPipe/Test");
            NamedPipeServerStream pipeServer = …
Run Code Online (Sandbox Code Playgroud)

c#

14
推荐指数
2
解决办法
7368
查看次数

如何从ASP.NET MVC中生成HTML?

我的英语非常糟糕,所以我不能很清楚地解释.我会尽我的全力.

是否有可能从ASP.NET MVC中生成HTML代码,好吗?

这是控制器

public class HomeController : Controller
{
    public ActionResult Index()
    {
        ViewData["Message"] = "Hello ASP.NET MVC!";
        ViewData["author"] = "Author: Alex";


        return View();
    }
Run Code Online (Sandbox Code Playgroud)

这是视图,它是一个模板.

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
title
Run Code Online (Sandbox Code Playgroud)

<%:ViewData ["Message"]%>

<%=计算机[ "作者"]%>

<%= Html.ActionLink("这是一个链接.","索引","关于")%>

我想用这个模板生成html文件.


祝你今天愉快,

亚历克斯

.net html asp.net-mvc dynamically-generated

-2
推荐指数
1
解决办法
2699
查看次数

CouchDB数据库在短时间内变得非常大吗?

我正在阅读Apress的Beginning CouchDB书籍,有一条线让我感到困惑:

另外需要注意的是,CouchDB永远不会覆盖现有文档,而是会将新文档附加到数据库中,最新版本更加突出,另一个版本存储用于存档.

这是不是意味着经过几次更新后,你会拥有一个巨大的数据库?谢谢!

couchdb

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

网站在3G下的iPad/iPhone上展示JavaScript错误,但不在WiFi下

在3G下连接到iPad上的http://www.manage-us.com [曾经]导致JavaScript错误,如果启用了开发人员控制台,则可以看到该错误.如果在WiFi连接下使用同一台iPad访问同一页面,则不会显示错误.[错误现在已经消失,因为我应用了下面的修复程序!].

为什么是这样?

我尝试在Mac上的Safari和Mac上的iPad模拟器上模拟低带宽(使用dummynet).这不会重现问题.

我目前怀疑这是我的英国移动运营商(O2)引入的问题,已知通过代理缓存(例如降级图像文件)修改某些内容.如果您通过其他移动运营商通过3G在iPad或iPhone上进行连接时可以确认您没有遇到此问题.

iphone proxy wifi ipad 3g

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

尝试修复损坏的文件后,git-svn fetch/rebase失败

我最近在我的存储库中有一个损坏的对象,指向我的HEAD(对象是空的).它发生在中断git-svn命令之后.然后,我通过手动更改此对象上的引用来恢复我的存储库.

现在,我想将我的git存储库与SVN同步,但git svn fetch返回:

fatal: Invalid revision range 5a5dc92cd3083960fb4828ae387a32cda0554fa8..refs/remotes/a-branch
rev-list --pretty=raw --no-color --reverse 5a5dc92cd3083960fb4828ae387a32cda0554fa8..refs/remotes/a-branch --: command returned error: 128
Run Code Online (Sandbox Code Playgroud)

5a5dc92cd3083960fb4828ae387a32cda0554fa8指的是损坏的对象,我想说git-svn不考虑这个对象而是另一个,但我不知道如何破解这个.

如果有人知道git-svn在哪里/如何在内部存储这个值,那就太好了.

谢谢

git git-svn

14
推荐指数
1
解决办法
3388
查看次数

RichTextBox语法实时突出显示 - 禁用重绘

我正在创建一个带有RichTextBox的函数,并且可以访问关键字列表和'badwords'.我需要突出显示我在用户输入时在RichTextBox中找到的任何关键字和坏词,这意味着每次发布编辑键时都会调用该函数.

我写过这个函数,但是框中的文字和光标闪烁得太过舒适.

我发现了一个解决方案 - 在我编辑和格式化文本时禁用RichTextBox重绘自身的能力.但是,我知道这样做的唯一方法是覆盖"WndProc"函数并拦截(我将要收集的内容)重绘消息如下:

protected override void WndProc(ref System.Windows.Forms.Message m)
{
    if (m.Msg == 0x00f) {
         if (paint)
            base.WndProc(ref m);
         else
            m.Result = IntPtr.Zero;
    }
    else
         base.WndProc(ref m);
}
Run Code Online (Sandbox Code Playgroud)

布尔突出'paint'在我开始突出显示之前设置为false,在我完成时设置为true.但正如我所说,我制作的函数必须采用RichTextBox; 我不能使用子类.

那么,有没有办法禁止从外部自动重新绘制RichTextBox?

c# graphics syntax-highlighting richtextbox

13
推荐指数
2
解决办法
8742
查看次数

确定要在GDB中调试的正确线程

我在使用GDB调试多线程进程时遇到了一些问题.我有一个多线程进程,分裂成几个(8或9)个不同的线程,我试图确定当调用名为XML_File_Data的类的构造函数时变量的内容是什么.但是,我遇到了一个问题,在我将所有线程应用正确的函数断点后,显然其中一个线程的断点被命中(程序暂时停止执行),我无法确定哪个线程打破了断点.命令

(gdb) thread apply all where
Run Code Online (Sandbox Code Playgroud)

在形式上给我一些令人震惊的无用信息:

#0  0x004ab410 in __kernel_vsyscall ()
#1  0x05268996 in nanosleep () from /lib/libc.so.6
#2  0x052a215c in usleep () from /lib/libc.so.6
#3  0x082ee313 in frame_clock_frame_end (clock=0xb4bfd2f8)
    at frame_clock.c:143
#4  0x003a349a in ?? ()
#5  0x00b5cfde in thread_proxy ()
   from /cets_development_libraries/install/lib/libboost_thread-gcc41-mt-1_38.so.1.38.0
#6  0x02c1f5ab in start_thread () from /lib/libpthread.so.0
#7  0x052a8cfe in clone () from /lib/libc.so.6
Run Code Online (Sandbox Code Playgroud)

在9个进程中,大约7个正在给我几乎完全相同的输出,并且关于最后2个的信息实际上并没有多大帮助(远离调用堆栈的函数具有可识别的名称,但是最近的#0-#4函数无法识别).

这是我到目前为止:

(gdb) gdb
(gdb) gdb attach <processid>
(gdb) thread apply all 'XML_File_Data::XML_File_Data()'
Run Code Online (Sandbox Code Playgroud)

和(在断点被击中后)

(gdb) thread apply all where
Run Code Online (Sandbox Code Playgroud)

任何经验丰富的调试器能否为我提供一些关于我做错了什么或者在这种情况下通常做什么的提示?

干杯,查理 …

gdb

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

将浮点值添加到android资源/值

我试图线使用我的TextViews之间添加一点空间android:lineSpacingMultiplier文档:

文本行之间的额外间距,作为乘数.

必须是浮点值,例如"1.2".

由于我在几个不同的TextView中使用它,我想为我的资源添加一个全局维度/值,但我不知道使用哪个标记,如果它甚至存在.我已经尝试了所有对我有意义的资源类型,但它们都不起作用.

我想拥有的是这样的:

<resources>
    <dimen name="text_line_spacing">1.4</dimen>
</resources>
Run Code Online (Sandbox Code Playgroud)

编辑:我知道android:lineSpacingExtra(需要一个附加单位的维度),但我想android:lineSpacingMultiplier尽可能使用.

floating-point resources android

224
推荐指数
7
解决办法
9万
查看次数

Perl:无法将"on-the-fly"数组传递给sub

strftime(),根据cpan.org:

print strftime($template, @lt);
Run Code Online (Sandbox Code Playgroud)

我只是想不出这个正确的Perl代码配方.它一直报告我调用strftime()的错误:

...
use Date::Format;
...
sub parse_date {
 if ($_[0]) {
  $_[0] =~ /(\d{4})/;
  my $y = $1;
  $_[0] =~ s/\d{4}//;
  $_[0] =~ /(\d\d)\D(\d\d)/;
  return [$2,$1,$y];
  }
 return [7,7,2010];
 }

foreach my $groupnode ($groupnodes->get_nodelist) {
    my $groupname = $xp->find('name/text()', $groupnode);
    my $entrynodes = $xp->find('entry', $groupnode);
    for my $entrynode ($entrynodes->get_nodelist) {
        ...
        my $date_added = parse_date($xp->find('date_added/text()', $entrynode));
        ...
        $groups{$groupname}{$entryname} = {...,'date_added'=>$date_added,...};
        ...
        }
    }
...

my $imday = $maxmonth <= 12 ? 0 : 1;
...

while …
Run Code Online (Sandbox Code Playgroud)

arrays perl

5
推荐指数
1
解决办法
1385
查看次数

禁用外键检查删除InnoDB表Perl脚本

在Perl上使用MySQL和一个新手是相当新的,但我试图破解别人的脚本来帮助我.我从这里得到了剧本.它到目前为止看起来很棒,但它失败了,因为表有一些外键检查正在进行.我可以通过phpmyadmin尝试逐个删除它们,但这需要永远,这是我第三次不得不这样做:(我的查询是,可以修改此脚本包括:

`SET FOREIGN_KEY_CHECKS = 0;
Run Code Online (Sandbox Code Playgroud)

在它运行drop table命令之前?我试图通过脚本,但找不到脚本的确定命令部分(可能是由于无知/缺乏理解).任何帮助非常感谢.

#!/usr/bin/perl

use strict;
use DBI;

my $hostname = '';
my $database = '';
my $username = '';
my $password = '';

my $dbh = DBI->connect("dbi:mysql:${database}:$hostname",
  $username, $password) or die "Error: $DBI::errstr\n";

my $sth = $dbh->prepare("SHOW TABLES");
$sth->execute or die "SQL Error: $DBI::errstr\n";
my $i = 0;
my @all_tables = ();
while(my $table = $sth->fetchrow_array)
{
  $i++;
  print "table $i: $table\n";
  push @all_tables, $table;
}
my $total_table_count = $i;

print "Enter string …
Run Code Online (Sandbox Code Playgroud)

mysql scripting perl

9
推荐指数
1
解决办法
9486
查看次数