小编THX*_*138的帖子

netsh http add urlacl:为组添加预留

本文介绍如何使用netsh.exe以下方式为用户配置命名空间预留:

netsh http add urlacl url = http:// +:80/MyUri user = DOMAIN\user

该参数user=被称为用户或用户组.
它的工作方式与我为单个用户配置时所描述的相同,但如果我替换DOMAN\userDOMAIN\Administrators或者DOMAIN\Users我收到错误(1332).

问:为什么它适用于用户,但不适用于组?组的语法是否不同?

操作系统:Vista 32位

注意:如果重要,计算机不属于域.

http wcf-configuration windows-vista netsh

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

T-SQL转义引号字符

注意:它可能是重复但我找不到工作答案.

以下是我正在尝试的东西,注意'值中的一个.我该如何解决?

INSERT INTO [pugraider].[dbo].[Realms]([Name]) VALUES('Aman'Thul')

我使用MS SQL Server Management Studio 2008.

编辑:我正在编写一个脚本来填充查找表(ID < - >名称).

t-sql escaping

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

如何在用户本地时间设置cookie过期时间?

我希望cookie能在10分钟内准确到期(仅仅是为了争论).

如果我使用Expires = DateTime.Now.AddMinutes(30)并且用户距离我3小时,cookie将在收到后立即过期(这是正确的吗?)

如何设置过期,以便它对用户来说是本地的?

当然,我可以使用JavaScript将该信息与请求一起发送,或使用某种类型的JS库在客户端创建cookie,或者保留用户配置文件并询问用户的时区,但我看起来很懒惰 - 解决方案.

c# cookies

15
推荐指数
1
解决办法
7015
查看次数

json.net:为字典键指定转换器

我有一个JSON:

{ 
    "data": { "A": 5, "B": 6 }, 
    "foo": "foo", 
    "bar": "bar" 
}
Run Code Online (Sandbox Code Playgroud)

我需要将数据反序列化为一个类:

public Dictionary<MyEnum, int> Data { get; set; }
public string Foo { get; set; }
public string Bar { get; set; }
Run Code Online (Sandbox Code Playgroud)

但MyEnum值是CodeA,而CodeB不是简单AB分别.

我有一个可以处理转换的自定义转换器.但是如何指定JsonConverter要与Dictionary键一起使用?

c# json.net

15
推荐指数
1
解决办法
7753
查看次数

从_bin_deployableAssemblies目录中排除.svn?

在VS 2010 for ASP.NET MVC 3项目中,可以选择添加"Deployable Dependencies"文件夹(_bin_deployableAssemblies)(单击Web项目上的右键),此目录中包含的文件将被复制到/ bin目录中.

如果您使用的是Subversion,此任务还将尝试复制.svn文件夹及其内容,这会因与/ bin自己的.svn文件夹冲突而导致错误.

问题:如何排除.svn文件夹被复制到/ bin?

msbuild visual-studio-2010 asp.net-mvc-3

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

ASP.NET MVC:Response.Redirect(url,TRUE)不会停止请求处理

我有一个用两个自定义ActionFilterAttribute修饰的方法.

[RequiresAuthentication(Order = 1)]
[ToonAction(Order = 2)]
public ActionResult Browse(...
Run Code Online (Sandbox Code Playgroud)

RequiresAuthentication属性来自这篇文章

在RequiresAuthentication内部,OnActionExecuting我做:

 filterContext.HttpContext.Response.Redirect(loginUrl, true);
Run Code Online (Sandbox Code Playgroud)

该行执行,参数全部按预期执行.问题是在执行上面的行后,我得到了下一个属性(ActionFilterAttribute),好像重定向不起作用,它只是继续执行请求,而不是简单地重定向浏览器.

问题:我还需要做什么来制作请求处理程序

这是一个完整的方法:

    public override void OnActionExecuting(ActionExecutingContext filterContext) {
        //redirect if not authenticated
        var identity = filterContext.HttpContext.User.Identity;
        if (!identity.IsAuthenticated) {
            //use the current url for the redirect
            string redirectOnSuccess = filterContext.HttpContext.Request.Url.PathAndQuery;

            //send them off to the login page
            string redirectUrl = string.Format("?ReturnUrl={0}", redirectOnSuccess);
            string loginUrl = FormsAuthentication.LoginUrl + redirectUrl;
            filterContext.HttpContext.Response.Redirect(loginUrl, true);
            // filterContext.Result = new HttpUnauthorizedResult();
            // filterContext.HttpContext.Response.StatusCode = 0x191;
        } …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc

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

使用泛型类型参数代替System.Type类型的参数.这是一种气味吗?

我经常看到(例如在许多模拟库中)方法,其中使用泛型类型参数来代替类型的参数System.Type.我特别谈到泛型类型仅在typeof(T)操作中使用的情况(即,在方法中的任何地方都没有使用类型T的实例,并且T不用于返回类型或其他参数).

例如,考虑以下方法:

public string GetTypeName(System.Type type) { return type.FullName; }
Run Code Online (Sandbox Code Playgroud)

这种方法通常伴随着通用版本:

public string GetTypeName<T>() { return GetTypeName(typeof(T)); }
Run Code Online (Sandbox Code Playgroud)

问题 是一种不好的做法还是一种好的做法?
这是一种语法糖还是还有更多呢?

我认为这是滥用语言功能来缩写对接受类型参数的方法的调用 System.Type

你觉得这有气味吗?这应该避免吗?或者这实际上是一种很好的做法(提供通用方法作为避免键入的快捷方式typeof()).

以下是使用我能想到的这种模式的一些实际问题:

  1. 如果添加了非System.Type类型的参数 - 可能需要将方法重写(如果参数的顺序在语义上很重要)到非泛型版本(否则一些参数将是泛型类型参数,而一些参数将是常规参数).
  2. 它需要两个方法(对于在编译时未知类型的情况,通用和非通用).因此增加了几乎毫无意义的单元测试.

另一方面,这是一种常见的做法(大多数总是正确的,对吧?)但更重要的是,当我对需要在编译时知道System.Type类型的单个参数的代码进行Extract Method重构时,ReSharper更喜欢该签名(和我学会了接受他们的建议,虽然不是出于信仰,但认真地).

c# coding-style

13
推荐指数
1
解决办法
651
查看次数

在ASP.MVC参数中使用短划线( - )

<% using (Html.BeginForm("SubmitUserName")) { %>
    <input type='text' name='user-name' />
    <input type='submit' value='Send' />
<% } %>
Run Code Online (Sandbox Code Playgroud)

什么应该是相应的Action方法的签名来接受user-name参数?

public ActionResult SubmitUserName(string user-name) {...}
Run Code Online (Sandbox Code Playgroud)

上面的方法签名由于某种原因不起作用;-)

我知道有一个ActionNameAttribute处理行动名称破折号的情况.有类似的东西ParameterNameAttribute吗?

c# asp.net-mvc-2

12
推荐指数
3
解决办法
8284
查看次数

.NET:阻止XmlDocument.LoadXml检索DTD

我有以下代码(C#),它需要太长时间,它会抛出异常:

new XmlDocument().
LoadXml("<?xml version='1.0' ?><!DOCTYPE note SYSTEM 'http://someserver/dtd'><note></note>");
Run Code Online (Sandbox Code Playgroud)

我明白为什么会那样做.我的问题是如何让它停止?我不关心DTD验证.我想我可以正则代替它,但我正在寻找更优雅的解决方案.

背景:
实际的XML是从我不拥有的网站收到的.当站点正在进行维护时,它返回带有DOCTYPE的XML,该DOCTYPE指向维护期间不可用的DTD.所以我的服务变得不必要,因为它试图为我需要解析的每个XML获取DTD.

这是异常堆栈:

Unhandled Exception: System.Net.WebException: The remote name could not be resolved: 'someserver'
at System.Net.HttpWebRequest.GetResponse()
at System.Xml.XmlDownloadManager.GetNonFileStream(Uri uri, ICredentials credentials)
at System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials)
at System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)
at System.Xml.XmlTextReaderImpl.OpenStream(Uri uri)
at System.Xml.XmlTextReaderImpl.DtdParserProxy_PushExternalSubset(String systemId, String publicId)
at System.Xml.XmlTextReaderImpl.DtdParserProxy.System.Xml.IDtdParserAdapter.PushExternalSubset(String systemId, String publicId)
at System.Xml.DtdParser.ParseExternalSubset()
at System.Xml.DtdParser.ParseInDocumentDtd(Boolean saveInternalSubset)
at System.Xml.DtdParser.Parse(Boolean saveInternalSubset)
at System.Xml.XmlTextReaderImpl.DtdParserProxy.Parse(Boolean saveInternalSubset)
at System.Xml.XmlTextReaderImpl.ParseDoctypeDecl()
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader …
Run Code Online (Sandbox Code Playgroud)

.net xml dtd

12
推荐指数
1
解决办法
9362
查看次数

从枚举中获取下一个N个元素

上下文:C#3.0,.Net 3.5
假设我有一个生成随机数的方法(永远):

private static IEnumerable<int> RandomNumberGenerator() {
    while (true) yield return GenerateRandomNumber(0, 100);
}
Run Code Online (Sandbox Code Playgroud)

我需要将这些数字分组为10组,所以我想要像:

foreach (IEnumerable<int> group in RandomNumberGenerator().Slice(10)) {
    Assert.That(group.Count() == 10);
}
Run Code Online (Sandbox Code Playgroud)

我已经定义了Slice方法,但我觉得应该已经定义了一个.这是我的Slice方法,仅供参考:

    private static IEnumerable<T[]> Slice<T>(IEnumerable<T> enumerable, int size) {
        var result = new List<T>(size);
        foreach (var item in enumerable) {
            result.Add(item);
            if (result.Count == size) {
                yield return result.ToArray();
                result.Clear();
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

问题:有没有更简单的方法来完成我想要做的事情?也许是Linq?

注意:上面的例子是一个简化,在我的程序中我有一个Iterator,它以非线性的方式扫描给定的矩阵.

编辑:为什么Skip+ Take不好.

实际上我想要的是:

var group1 = RandomNumberGenerator().Skip(0).Take(10);
var group2 = RandomNumberGenerator().Skip(10).Take(10);
var group3 = …
Run Code Online (Sandbox Code Playgroud)

.net c# linq enumerator

11
推荐指数
3
解决办法
8517
查看次数