javascript

git

java

python

git-remote

c++

github

django

c#

reactjs

variables

var

loops

iteration

std

c++-faq

git-checkout

generator

coroutine

spring-mvc

asp.net-无法使用前导../退出顶层目录

我有一个asp.net网站,我们有带登录页面的admin区域,仅供管理员使用,并且所有站点都允许所有人使用-我需要询问如何为它定义正确的安全配置,因为我收到此错误

Cannot use a leading .. to exit above the top directory. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Web.HttpException: Cannot use a leading .. to exit above the top directory.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  

Stack Trace: 


[HttpException (0x80004005): Cannot use a leading .. to exit above the top directory.]
   System.Web.Util.UrlPath.ReduceVirtualPath(String path) +8862087
   System.Web.Util.UrlPath.Reduce(String path) +52
   System.Web.Util.UrlPath.Combine(String appPath, String basepath, String relative) +214
   System.Web.UI.Control.ResolveClientUrl(String relativeUrl) +180
   System.Web.UI.WebControls.Image.AddAttributesToRender(HtmlTextWriter writer) +68
   System.Web.UI.WebControls.WebControl.RenderBeginTag(HtmlTextWriter writer) +20
   System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer) +20
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +134
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +19
   System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +163
   System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer) +32
   System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) +51
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99
   System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) +40
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +134
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +19
   System.Web.UI.Control.Render(HtmlTextWriter writer) +10
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +134
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +19
   System.Web.UI.Page.Render(HtmlTextWriter writer) +29
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1266

我的配置文件:

 <authentication mode="Forms">
  <forms name=".ASPXFORMSAUTH" protection="All" loginUrl="Admin/LoginPage.aspx" path="/" enableCrossAppRedirects="true">
  </forms>
</authentication>
<authorization>
  <deny users="*" />
</authorization>

trans by 2020-08-12T09:03:07Z

在WCF中缓存?

我正在构建WCF服务。 我需要将参考数据存储在缓存中,每次从该方法接收输入时我都会对其进行查找...正确的方法是什么? 我还想为缓存定义一个过期策略,该策略将在一定时间间隔后使其失效。

trans by 2020-08-12T07:55:52Z

您可以在解决方案中混合使用.NET Framework版本吗?

我工作的代码库是.NET 2.0。 对于我们的新程序集/ DLL / Web应用程序,我想利用3.5提供的功能。

一个解决方案中可以混合使用.NET框架(按程序集)吗? 是否有与IIS相关的警告?

我很想听听任何正面/负面/如何反馈。 让我知道!

谢谢!

trans by 2020-08-12T07:11:08Z

.net-TransactionScope和多线程

我想知道在处理多线程时如何正确使用TransactionScope类?

我们在主线程中创建一个新的作用域,然后生成几个工作线程,并希望它们参与主作用域,例如,如果该作用域从未完成,则在每个工作线程上调用回滚。

我在内部使用ThreadStaticAttribute读取了有关TransactionScope的内容,这使上述操作变得不可能/非常困难-有人可以验证这两种方法吗? 如果我们以同步的方式用完代码,那么回滚将起作用,即内部事务能够参与主事务,但是如果我们切换到线程执行则不能。

谢谢

trans by 2020-08-12T07:09:27Z

在同一个catch块中捕获两个异常?

我有一种方法可以抛出两个不同的异常CommuncationExceptionSystemException。在两种情况下,我都执行相同的三行代码块。

try {
 ...
}

catch (CommunicationException ce) {
   ...
}

catch {SystemExcetion se) {
   ... 
}

有可能这样做吗?

try {
   ...
}

catch (CommunicationException ce, SystemException se) {
   ...
}

这样,我就不必编写这么多代码。 我知道我可以将异常处理提取到私有方法,但是由于代码只有3行,因此方法定义将比主体本身花费更多的代码。

trans by 2020-08-12T02:58:32Z

LINQ内联接vs左联接

使用扩展语法,我试图在我拥有的两个列表上使用LINQ创建左联接。 以下是来自Microsoft帮助的信息,但我已对其进行了修改,以表明宠物列表中没有任何元素。 我最后得到的是0个元素的列表。 我认为这是因为发生了内部联接。 我要结束的是3个元素(3 Person对象)的列表,其中为缺少的元素填充了空数据。 即左联接。 这可能吗?

Person magnus = new Person { Name = "Hedlund, Magnus" };
Person terry = new Person { Name = "Adams, Terry" };
Person charlotte = new Person { Name = "Weiss, Charlotte" };

//Pet barley = new Pet { Name = "Barley", Owner = terry };
//Pet boots = new Pet { Name = "Boots", Owner = terry };
//Pet whiskers = new Pet { Name = "Whiskers", Owner = charlotte };
//Pet daisy = new Pet { Name = "Daisy", Owner = magnus };

List<Person> people = new List<Person> { magnus, terry, charlotte };
//List<Pet> pets = new List<Pet> { barley, boots, whiskers, daisy };
List<Pet> pets = new List<Pet>();

// Create a list of Person-Pet pairs where 
// each element is an anonymous type that contains a
// Pet's name and the name of the Person that owns the Pet.
var query =
    people.Join(pets,
                person => person,
                pet => pet.Owner,
                (person, pet) =>
                    new { OwnerName = person.Name, Pet = pet.Name }).ToList();
trans by 2020-08-12T02:25:12Z

c#-最小起订量-如何验证是否通过s设置了属性值

考虑此类:

public class Content
{      
   public virtual bool IsCheckedOut {get; private set;}
   public virtual void CheckOut()
   {
      IsCheckedOut = true;
   }

   public virtual void CheckIn()
   {
      //Do Nothing for now as demonstrating false positive test.
   }
}

Checkin方法有意为空。 现在,我有一些测试方法来验证调用每个方法的状态。

[TestMethod]
public void CheckOutSetsCheckedOutStatusToTrue()
{
    Content c = new Content();    
    c.CheckOut();
    Assert.AreEqual(true, c.IsCheckedOut); //Test works as expected
}

[TestMethod]
public void CheckInSetsCheckedOutStatusToFalse()
{
    Content c = new Content();
    c.CheckIn();
    Assert.AreEqual(false, c.IsCheckedOut); //Test does not work as expected
}

由于错误原因,第二次测试通过。 那么,如何使用模拟(moq)来验证CheckIn设置了IsCheckedOut属性?

谢谢。

编辑

需要说明的是:我有一个称为CheckIn()的方法,其作用是将IsCheckedOut状态设置为false。

您将在上面的测试代码中看到,即使我未将属性值设置为false,测试也将返回false。 这是预料之中的,这里没有错。

我认为我的问题特别是如何验证Check In()方法是否已将IsChecked Out属性设置为false? 这就是我所说的行为验证。

我相信某些评论建议做一些等同于状态验证的事情? 如果是这样,我不相信在我们可以简单使用的情况下完全嘲笑这一部分没有任何价值:

Content c = new Content();    
c.CheckIn();    
Assert.AreEqual(false, c.IsCheckedOut); //State verification

当然我可能是错的,所以请帮助我阐明这些概念:)

trans by 2020-08-12T01:17:35Z

VS2010-如何在第一个compi上自动停止编译

{rant}首先,我想说这不是重复的。 我之前曾问过这个问题,但是当不是这个问题时,它就被关闭了。 这个问题是VS 2010的特定问题,是VS 2008中所谓重复工作的答案,而VS 2010中不是(至少对我或我认识的人而言)。 因此,在关闭重复项之前,请仔细阅读问题并自己尝试答案,看看它是否确实有效。 道歉的道歉,但没有明显的方法联系已关闭问题或重新开放的SO警察。 {/ rant}


在工作中,我们有一个包含80多个项目的C#解决方案。 在VS 2008中,一旦解决方案中的项目无法生成,我们就使用宏来停止编译(有关VS 2005和VS 2008的几个选项,请参阅此问题:在第一个编译错误时自动停止Visual C ++ 2008生成吗?)。

在VS 2010中可以做同样的事情吗? 我们发现,在VS 2010中,宏不起作用(至少我无法使它们起作用),因为在VS 2010中似乎没有触发环境事件。

默认行为是尽可能继续并在错误窗口中显示错误列表。 我很高兴它在遇到错误(文件级)或项目无法构建(项目级)时立即停止。

请仅回答VS 2010。 如果这些宏能够正常工作,那么将对如何为VS 2010配置宏进行详细说明。

谢谢。

trans by 2020-08-12T00:07:30Z

.net-MVC中UIHint属性的用途是什么

这个问题已经在这里有了答案:

  • MVC中的UIHint属性 2个答案

谁能解释一下MVC中UIHint属性的用途。 我们为什么需要这个。 以及何时和如何使用。 谢谢

trans by 2020-08-11T22:34:45Z

.net-使用任务并行库时如何处理所有未处理的异常?

我在.NET 4.0中使用TPL(任务并行库)。 我想通过使用AggregateException事件集中所有未处理的异常的处理逻辑。 但是,在我的应用程序中,永远不会为以TPL代码开头的线程触发该事件。 Task.Factory.StartNew(...).如果我使用类似new Thread(threadStart).Start()的事件,则确实会触发该事件。

此MSDN文章建议在使用TPL时使用Task.Wait()来捕获AggregateException,但这不是我想要的,因为此机制不够“集中”。

有人遇到过同样的问题吗?还是只有我一个人? 您对此有什么解决方案吗?

trans by 2020-08-11T18:27:21Z

.net-C#:收益率返回范围/集合

我使用了yield return关键字很多,但是当我想将范围添加到IEnumerable时发现它缺少关键字。这是我想做的一个简单示例:

IEnumerable<string> SomeRecursiveMethod()
{
    // some code 
    // ...
    yield return SomeRecursiveMethod();
}

自然会导致错误,可以通过执行简单的循环来解决。 有一个更好的方法吗? 循环感觉有些笨拙。

trans by 2020-08-11T18:00:51Z

首页> C#>我怎么知道什么是WPF窗口在

在C#应用程序中,如何确定WPF窗口是在主监视器中还是在另一个监视器中?

trans by 2020-08-11T11:40:27Z

为什么在.Net(4.0)中ConcurrentBag <T>这么慢? 我做错了吗?

在开始一个项目之前,我编写了一个简单的测试来比较(System.Collections.Concurrent)中的ConcurrentBag与锁定&列表的性能。 我非常惊讶ConcurrentBag比用一个简单的List锁定慢十倍以上。 据我了解,当读者和作家是同一线程时,ConcurrentBag效果最佳。 但是,我没有想到它的性能不会比传统锁差很多。

我已经使用两个Parallel for循环对列表/包进行读写操作进行了测试。 但是,写入本身显示出巨大的差异:

private static void ConcurrentBagTest()
   {
        int collSize = 10000000;
        Stopwatch stopWatch = new Stopwatch();
        ConcurrentBag<int> bag1 = new ConcurrentBag<int>();

        stopWatch.Start();


        Parallel.For(0, collSize, delegate(int i)
        {
            bag1.Add(i);
        });


        stopWatch.Stop();
        Console.WriteLine("Elapsed Time = {0}", 
                          stopWatch.Elapsed.TotalSeconds);
 }

在我的机器上,这需要3-4秒的时间才能运行,而此代码为0.5-0.9秒:

       private static void LockCollTest()
       {
        int collSize = 10000000;
        object list1_lock=new object();
        List<int> lst1 = new List<int>(collSize);

        Stopwatch stopWatch = new Stopwatch();
        stopWatch.Start();


        Parallel.For(0, collSize, delegate(int i)
            {
                lock(list1_lock)
                {
                    lst1.Add(i);
                }
            });

        stopWatch.Stop();
        Console.WriteLine("Elapsed = {0}", 
                          stopWatch.Elapsed.TotalSeconds);
       }

正如我提到的,进行并发读取和写入对并发袋测试没有帮助。 我是在做错什么,还是这个数据结构真的很慢?

[编辑]-我删除了任务,因为在这里我不需要它们(完整的代码有另一个任务阅读)

[编辑]非常感谢您的回答。 我很难选择“正确的答案”,因为这似乎是几个答案的组合。

正如Michael Goldshteyn所指出的,速度实际上取决于数据。Darin指出,应该有更多的争用来使ConcurrentBag更快,而Parallel.For不必启动相同数量的线程。 要带走的一点是不要对锁进行任何不必要的操作。 在上述情况下,我看不到自己在锁内执行任何操作,除非可能是将值分配给temp变量。

此外,sixlettervariables指出,尽管我尝试以相反的顺序运行原始测试,并且ConcurrentBag仍然较慢,但是碰巧正在运行的线程数也可能会影响结果。

我从启动15个任务开始进行了一些测试,结果取决于其他因素。 但是,对于最多一百万次插入,ConcurrentBag的性能几乎与锁定列表一样好或更好。 超过一百万,锁定有时似乎要快得多,但是我的项目可能永远不会拥有更大的数据结构。这是我运行的代码:

        int collSize = 1000000;
        object list1_lock=new object();
        List<int> lst1 = new List<int>();
        ConcurrentBag<int> concBag = new ConcurrentBag<int>();
        int numTasks = 15;

        int i = 0;

        Stopwatch sWatch = new Stopwatch();
        sWatch.Start();
         //First, try locks
        Task.WaitAll(Enumerable.Range(1, numTasks)
           .Select(x => Task.Factory.StartNew(() =>
            {
                for (i = 0; i < collSize / numTasks; i++)
                {
                    lock (list1_lock)
                    {
                        lst1.Add(x);
                    }
                }
            })).ToArray());

        sWatch.Stop();
        Console.WriteLine("lock test. Elapsed = {0}", 
            sWatch.Elapsed.TotalSeconds);

        // now try concurrentBag
        sWatch.Restart();
        Task.WaitAll(Enumerable.Range(1, numTasks).
                Select(x => Task.Factory.StartNew(() =>
            {
                for (i = 0; i < collSize / numTasks; i++)
                {
                    concBag.Add(x);
                }
            })).ToArray());

        sWatch.Stop();
        Console.WriteLine("Conc Bag test. Elapsed = {0}",
               sWatch.Elapsed.TotalSeconds);
trans by 2020-08-11T06:56:06Z

.net-在C#中,表达API是否比反射更好

如今,我正在探索C#Expression API。 因此,我可以借助一些帮助来了解其工作原理,包括表达与反思之间的区别。 我还想了解表达式是否仅是语法糖,还是确实比反射性能更好?

好的例子以及到好的文章的链接将不胜感激。 :-)

trans by 2020-08-11T05:41:51Z

c#-“对象已断开连接或在服务器上不存在”异常

我需要在我的应用程序中使用跨应用程序域调用,有时我会遇到以下RemotingException:

服务器上的对象'/2fa53226_da41_42ba_b185_ec7d9c454712/ygiw+xfegmkhdinj7g2kpkhc_7.rem'已断开连接或不存在。

目标对象仍然存在,我已经检查了它。

UPD我已经在目标对象的终结器中设置了断点,但是它从未命中。 因此,该对象是活动的,没有经过GC处理。

trans by 2020-08-11T05:33:00Z

数据视图和数据表有什么区别?

.Net中的DataView和DataTable有什么区别?据我了解,DataView只是对DataTable的虚假陈述。什么时候应该使用DataView?

提前致谢。

trans by 2020-08-11T03:26:02Z

.net-如何将类库项目转换为Web应用程序项目?

长话短说,由于体系结构方面的问题以及有人已经将一些.aspx文件放入类库的事实,我想结束更改并将类库转换为Web应用程序。 这是使用Visual Studio 2010和.NET 4.0。 有一个简单的方法吗? 谢谢!

编辑:我希望有一个比重新创建项目更好的方法,当我尝试创建一个新项目时,我遇到了很多引用损坏的问题,其中包括我似乎无法修复的项目。

trans by 2020-08-11T02:33:55Z

C#-Thread.Start()与ThreadPool.QueueUserWorkItem()

Microsoft .NET基础类库提供了几种创建线程并启动它的方法。 基本上,调用与提供相同类型服务的其他调用非常相似:创建一个代表执行流(或多个执行流)的对象,为它分配一个代表要执行的执行流的委托,最后根据委托签名,一个对象 作为参数。

好吧,有两种方法(基本上):

1)使用System.Threading.ThreadPool类。

Thread curr = new Thread(myfunction); /* In a class, myfunction is a void taking an object */
curr.Start(new Object()); /* Or something else to be downcast */

2)使用System.Threading.ThreadPool类。

ThreadPool.QueueUserWorkItem(myfunction, new Object()); /* Same philosophy here */

我应该使用1)或2)有什么特殊的原因吗?

  • 性能原因?
  • 模式?
  • 最好的方法是什么?

我感觉答案是:“视情况而定”。 您能否列出其中一种方法优于另一种方法的情况?

trans by 2020-08-11T01:24:06Z

.net-如何使用官方C#驱动程序在MongoDB中使用Update.Set更新多个字段?

以下代码将允许我更新FirstName =“ john”和LastName =“ Doe”的电子邮件。 如何不使用Save()方法更新电子邮件和电话?

MongoDB.Driver.MongoServer _server = MongoDB.Driver.MongoServer.Create("mongodb://localhost");
MongoDB.Driver.MongoDatabase _dataBase = _server.GetDatabase("test");
MongoDB.Driver.MongoCollection<Person> _person = _dataBase.GetCollection<Person>("person");

//Creat new person and insert it into collection
ObjectId newId  = ObjectId.GenerateNewId();
Person newPerson = new Person();
newPerson.Id = newId.ToString();
newPerson.FirstName = "John";
newPerson.LastName = "Doe";
newPerson.Email = "john.doe@gmail.com";
newPerson.Phone = "8005551222";
_person.Insert(newPerson);

//Update phone and email for all record with firstname john and lastname doe
MongoDB.Driver.Builders.QueryComplete myQuery = MongoDB.Driver.Builders.Query.And(MongoDB.Driver.Builders.Query.EQ("FirstName", "John"),    MongoDB.Driver.Builders.Query.EQ("LastName", "Doe"));
MongoDB.Driver.Builders.UpdateBuilder update = MongoDB.Driver.Builders.Update.Set("Email", "jdoe@gmail.com");

_person.Update(myQuery, update);
trans by 2020-08-11T00:22:24Z

c#-在.n中写入CSV文件

我需要将数据集导出为CSV文件。

我花了一段时间寻找一组规则,并意识到编写CSV文件时有很多规则和例外。

[http://knab.ws/blog/index.php?/archives/3-CSV-file-parser-and-writer-in-C-Part-1.html][http://bytes.com/topic/c-sharp/answers/236875-problems-streamwriter-output-csv][http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/0073fcbb-adab-40f0-b768-4bba803d3ccd]

因此,现在这不是一个用逗号分隔字符串的简单过程,我已经搜索了第三方或.net框架中包含的现有CSV编写器(希望如此!)。

编辑:新链接:[http://www.thinqlinq.com/Post.aspx/Title/LINQ-to-CSV-using-DynamicObject-and-TextFieldParser]

TextFieldParser是一个VB对象(可以从C#引用),它将自动解析CSV文件。 :)

我想知道是否有人知道任何方便的.Net(2.0-> 3.5和4.0)库可用于生成格式正确的CSV文件。

另外,是否存在用于生成CSV文件的规则集。

CSV阅读器和解析CSV文件有很多详细信息,但是关于编写的信息并不多(好吧,我知道这与:P相反)。

[HTTP://呜呜呜.co的project.com/KB/database/CSV reader.aspx]

任何帮助将非常感激 :)

我发现了另一篇文章,其中包含一些更详细的CSV规则:[http://www.creativyst.com/Doc/Articles/CSV/CSV01.htm]

精巧的第三方库是Linq-to-CSV(不是框架库):[http://www.codeproject.com/KB/linq/LINQtoCSV.aspx]

谢谢大家的帮助。我决定最好的解决方案是创建一个简单的静态类,该类将进行特殊字符替换(克里斯提到)。

如果需要Linq查询我的CSV文件,请查看Linq-to-CSV的CodeProjects实现。

再次感谢 :)

trans by 2020-08-11T00:07:43Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共147页