小编gsh*_*arp的帖子

ASP.NET中的ThreadStaticAttribute

我有一个组件需要static在每个线程之前存储值.它是一个通用组件,可以在许多场景中使用,而不仅仅在ASP.NET中使用.

我正在考虑使用该[ThreadStatic]属性来实现我的目标.假设它在ASP.NET场景中也能正常工作,因为我假设每个Request都在自己的线程中调用.

经过一些研究后,我发现Scott Hanselman 撰写的这篇博客文章[ThreadStatic]在ASP.NET中使用时要小心.

然而,大多数评论(在帖子下面)都不同意斯科特写的,说请求总是在一个线程中运行,并且该线程不会被另一个请求同时使用.这也是我所相信的,但我很乐意在这里对你的专家有一些看法.

.net c# asp.net multithreading threadstatic

21
推荐指数
1
解决办法
6567
查看次数

调试来自.net core 2.0中动态加载程序集的代码

我有一个.net核心2.0控制台应用程序,它执行以下操作(简化):

var a = Assembly.Load(Assembly.GetEntryAssembly()
                              .GetReferencedAssemblies()
                              .First(i => i.Name == "MyAssembly"));

var t = a.GetType("MyType");
var i = (MyBaseType)Activator.CreateInstance(t);

i.Execute();
Run Code Online (Sandbox Code Playgroud)

当我通过代码进行调试时,它会MyType.Execute()按预期进行调试.

但是,如果我使用以下代码加载程序集:

var path = new FileInfo(Assembly.GetExecutingAssembly().Location);
var a = Assembly.LoadFile(Path.Combine(path.DirectoryName, "MyAssembly.dll"));
Run Code Online (Sandbox Code Playgroud)

代码仍然有效但我无法MyType.Execute()在调试时介入.

任何想法为什么/什么是错的?

.net c# .net-core

20
推荐指数
2
解决办法
1862
查看次数

blazor 中的 RenderMode.Server 和 RenderMode.ServerPrerendered 有什么区别?

有什么区别

@(await Html.RenderComponentAsync<Todo>(RenderMode.ServerPrerendered))
Run Code Online (Sandbox Code Playgroud)

@(await Html.RenderComponentAsync<Todo>(RenderMode.Server))
Run Code Online (Sandbox Code Playgroud)

我正在查看文档,但无法真正找到解释差异的内容。并且也不太明白枚举上的代码注释:

    // Summary:
    //     Renders a marker for a Blazor server-side application. This doesn't include any
    //     output from the component. When the user-agent starts, it uses this marker to
    //     bootstrap a blazor application.
    Server = 2,
    //
    // Summary:
    //     Renders the component into static HTML and includes a marker for a Blazor server-side
    //     application. When the user-agent starts, it uses this marker to bootstrap a blazor
    //     application.
    ServerPrerendered = …
Run Code Online (Sandbox Code Playgroud)

.net asp.net-core blazor blazor-server-side

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

XPath和XPathSelectElement

我有以下xml

<root>
   <databases>
      <db1 name="Name1" />
      <db2 name="Name2" server="myserver" />
      <db3 name="Name3" />
   </databases>
<root>
Run Code Online (Sandbox Code Playgroud)

我已经尝试了所有内容来读取db2(="Name2")的名称以及XPath查询的所有可能组合,但从未获得预期的结果.

我的代码到目前为止:

var query = "root/databases/db2.. "; // here I've tried everything 
var doc = XDocument.Load("myconfig.xml");
var dbName =  doc.XPathSelectElement(query);
Run Code Online (Sandbox Code Playgroud)

获取"Name2"(属性值)的正确查询是什么?

谢谢你的帮助.

.net c# xml xpath linq-to-xml

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

如何删除存储在Visual Studio中的Database ConnectionStrings?

我有适用于DB Professionals的Visual Studio 2005 Team Edition.

启动"数据 - >架构比较 - >新架构比较..."后,我可以从DropDown中选择一个数据库.不幸的是,我不再需要一些旧的参考资料了.我该如何删除这些条目?

visual-studio

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

c#7.0中的表达式获取/设置访问器功能

我在课堂上有这个代码

private string test;
public string Test
{
    get =>  test;
    set => test = value;
}
Run Code Online (Sandbox Code Playgroud)

但编译器不会让我编译.它说

CS1043 { or ; expected 
CS1513 } expected
Run Code Online (Sandbox Code Playgroud)

我正在使用VS 2017并使用MVC 5项目定位.NET FW 4.6

知道为什么它不起作用吗?

.net c# c#-7.0

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

MSChart:ChartImageHandler不同存储设置的优缺点

我在Web项目中使用MSChart控件.我看到有3种不同的存储模式设置:文件/内存/会话.我找不到有关优缺点或设置影响的任何信息.

有人可以帮忙吗?

c# asp.net mschart

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

用表达式树读取对象的属性

我想为一个动态读取值的Object的每个Property创建一个Lambda Expression.

到目前为止我所拥有的:

var properties = typeof (TType).GetProperties().Where(p => p.CanRead);

foreach (var propertyInfo in properties)
{
    var getterMethodInfo = propertyInfo.GetGetMethod();

    var entity = Expression.Parameter(typeof (TType));

    var getterCall = Expression.Call(entity, getterMethodInfo);

    var lambda = Expression.Lambda(getterCall, entity);
    var expression = (Expression<Func<TType, "TypeOfProperty">>) lambda;
    var functionThatGetsValue = expression.Compile();
}
Run Code Online (Sandbox Code Playgroud)

functionThatGetsValue只要"TypeOfProperty"被硬编码,代码就可以正常工作.我知道我无法动态传递"TypeOfPoperty".我能做些什么来实现我的目标?

.net c# lambda expression-trees

10
推荐指数
2
解决办法
9551
查看次数

发布自包含控制台应用程序失败

我安装了.NET SDK 2.1.301-win-x64.exe后来更新了所有的nuget包2.1.1.

在我的WebApp中,我有Nuget Package Microsoft.AspNetCore.All 2.1.1Microsft.NETCore.App 2.1.0.在Nuget窗口中,我看到还有版本2.1.1,但我无法选择它(由项目阻止)

我的控制台应用中的相同故事: Microsft.NETCore.App 2.1.0

我的第一个问题:这里已经出了问题吗?或者这是预期的行为?

如果我将WebApp构建为自包含App,那么效果很好.

如果我将控制台应用程序作为自包含应用程序(自包含/ win-x64).我得到了以下错误:

该项目使用Microsoft.NETCore.App版本2.1.1进行了恢复,但使用当前设置时,将使用版本2.1.0.要解决此问题,请确保使用相同的设置进行还原以及后续操作(如构建或发布).通常,如果在构建或发布期间设置了RuntimeIdentifier属性,但在还原期间未设置,则会发生此问题."

此错误的来源是引用的项目.

我做错了什么?如果您需要其他信息,请告诉我,然后我会添加它.

.net-core

10
推荐指数
1
解决办法
4382
查看次数

POCO与实体框架生成的类?

使用一个优于另一个有什么好处?我知道POCO课程更优化,但是他们是否值得过度杀伤?我们是应该总是使用POCO还是有时候你应该更喜欢实体框架类?

.net poco entity-framework-4

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