小编Bri*_*Kay的帖子

TransactionScope:它变得更好了吗?

当TransactionScope第一次出现时,我遇到了一些严重的问题,让它在我的开发机器(XP)和我们的数据库服务器(Windows Server 2003)之间工作.

当我更多地研究它时,这似乎是一个棘手而广泛的问题,有可能成为生产中的头疼,所以我决定不以这种方式处理事务(即使我喜欢语法很多而且我真的想要它上班).

这些问题是否仍然存在或者使用安全吗?你现在经常使用它没有问题吗?

非常感谢!

注意:现在已经很久了,但我认为这个问题与Distribute Transaction Coordinator有关.我摆弄了很长一段时间,但从来没能让它发挥作用.

.net asp.net transactions transactionscope

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

如果客户端计算机上禁用了cookie,会话存储在哪里?实际存储在会话中的是什么?

在配置文件中,我有以下设置

sessionState mode ="InProc"cookieless ="false"

这是否表示会话ID在cookie中?如果是,那么它是如何被选中并发送到服务器的,以及如何在回发中验证它.

如果在我的浏览器中禁用cookie会发生什么,会话(sessionid和会话变量)是否仍会被创建?

其中(默认路径)是默认为会话创建和存储的cookie,我可以更改路径吗?

会话cookie中存储了哪种格式和类型的数据?

如果我在会话中存储一个类对象,那么实际存储在cookie中的是什么?

此外,如果我使用身份验证模式作为cookie的表单,那么如果在浏览器中禁用cookie会发生什么?

asp.net cookies session

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

Azure VM 上 SQL Server 的连接字符串

我们将应用程序从物理服务器迁移到 Azure VM(一台 Web 服务器、一台数据库服务器),并且它在大部分情况下运行良好。

昨晚,由于某种待定原因,Web 服务器离线,导致出现中断,当它恢复时,连接字符串开始失败...所有错误都是找不到网络路径的类型。

我知道虚拟机的内部 IP 可以在我的关联组内更改,但我没有看到很多关于我应该使用哪个 IP 或名称的直接答案。

现在我的连接字符串如下所示:

Server=MyDatabaseServerName;Database=xxxx;User ID=xxxx;Password=xxxx;
Run Code Online (Sandbox Code Playgroud)

我觉得也许 MyDatabaseServerName 暂时将错误的 IP 解析为错误,也许我应该使用我的 cloudapp.net 名称,如下所示:

Server=xxx.cloudapp.net, 1433;Database=xxxx;User ID=xxxx;Password=xxxx;
Run Code Online (Sandbox Code Playgroud)

...但我担心它会一路传到互联网并返回。

那么去这里最安全的方法是什么?

sql-server virtual-machine azure

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

Serilog ForContext和Custom Properties

我正在尝试向Serilog添加动态自定义属性,但我不确定如何以我想要的方式执行此操作.这是代码:

    if (data.Exception != null)
        {
            _logger.ForContext("Exception", data.Exception, true);
        }

        await Task.Run(() =>
                _logger.ForContext("User", _loggedUser.Id)
                .Information(ControllerActionsFormat.RequestId_ExecutedAction, data.RequestId, data.ActionName)
            );
Run Code Online (Sandbox Code Playgroud)

但是Exception属性没有被持久化.我试过了:

            await Task.Run(() =>
            _logger.ForContext("Exception", data.Exception, true)
                .ForContext("User", _loggedUser.Id)
                .Information(ControllerActionsFormat.RequestId_ExecutedAction, data.RequestId, data.ActionName)
            );
Run Code Online (Sandbox Code Playgroud)

它工作正常,但有时我必须先处理数据才能使用它(比如迭代包含方法参数的字典).我对这些想法持开放态度.

c# serilog

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

ASP.NET CORE 没有 app.UseEndpoints() 方法

现在刚刚学习 ASP.NET Core,在一些指南中我看到了 app.UseEndpoints() 方法。

但是当我创建我的 ASP NET CORE 项目时,我只在 StartUp.cs 中看到了 app.Run

  1. 所以我需要为此安装一些实用程序还是删除了 UseEndPoints?
  2. 我怎样才能实现这种方法 app.UseEndpoints(endpoints => { endpoints.MapHub<ChatHub>("/chat"); });

c# asp.net signalr asp.net-core

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

如何从 blazor 页面修改布局?

我正在尝试在 Blazor 中实现面包屑。似乎没有任何机制可以将数据上游传递到布局级别,所以我想知道人们是如何管理它的。

这是我的布局的简化版本:

<header>
    <Toolbar />
    <Breadcrumbs></Breadcrumbs>
</header>

<main class="mt-5">
     @Body
</main>
Run Code Online (Sandbox Code Playgroud)

这个想法是在任何给定的 Blazor 页面上,我希望能够设置面包屑。但是我的页面无法与布局或面包屑组件交互。

我考虑过/尝试过的事情:

  • 将我的布局包装在CascadingParameter 中,并在面包屑组件和我的页面中实现该参数。这不起作用,因为显然无法在子组件中更改级联值。
  • 一个巧妙的范围服务,可以同时实现页面和面包屑组件。但是对于“当前页面”级别没有范围界定,所以如果打开多个浏览器选项卡等,我担心奇怪的工件。在我写这篇文章时,我想到两个选项卡可能会产生两个电路,这是值得探索的东西,因为那是可行的。
  • 放弃并使用JS interop解决这个问题。这是核选项。这是可行的,只是跛脚。:) 必须有更好的方法,减少生命损失。

在这个古老的 GitHub 问题中,Steve Sanderson 回应了类似的需求,但他的解决方法是侵入性的。我希望现在有更好的东西:https : //github.com/dotnet/aspnetcore/issues/16009

这很有趣,但最终没有帮助:Blazor:从布局访问参数

c# blazor blazor-server-side asp.net-core-3.1

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

处理软件开发的变化率

我主要是一名.NET开发人员,仅在那个领域,任何时候都有可能接近十几种引人入胜的新兴技术,其中一些是真正的游戏改变者,我很乐意深入研究.

可悲的是,这似乎超出了人的能力范围.

我读过Rocky Lhotka(.NET传奇,CSLA的发明者等)的一篇文章,他几乎顺便提到,去年他对变化的速度感到非常可怕.他听起来似乎不太可能继续保持在最前沿,也许他不会那么努力,因为它是徒劳的.

令我惊讶的是,真正的天才如Lhotka(他们可能会花费大量时间玩最新技术并且应该能够快速提取东西)也感受到了燃烧!

那么,你们怎么处理这个?你是否只是认识到发展是巨大的事实,能够快速找到事情比学习它更重要吗?或者你有继续教育策略,实际上让你保持接近最前沿?

language-agnostic

4
推荐指数
1
解决办法
553
查看次数

你为什么不直接控制你的参考?

我正在为我的组织建立一些新的源代码控制最佳实践,所以过去几天我一直沉浸在像TreeSurgeon这样的事情中.

我看到的一件事是,最好的做法是将您的引用包含在源代码控制树中,但是在一个单独的目录(lib/in tree surgeon)中,而不是直接使用代码,因为它们自然出现在ASP.NET项目中.

我知道为什么直接在bin文件夹中对它们进行控制是很糟糕的一些原因,但是我想了解大局,包括在从源代码控制中下载代码之后如何将这些引用重新引入到ASP.NET项目中在一台新鲜的机器上.

提前致谢!

布赖恩

.net asp.net version-control

4
推荐指数
1
解决办法
372
查看次数

将Nullable Integer设置为包含Nothing的字符串会产生0

我一直在从可空整数的一些意外行为中拉出我的头发.

  • 如果我设置IntegerNothing,它会变得Nothing如预期的那样.
  • 如果我设置Integer?StringNothing,它变成0!

当然,我得到这个我是否显式转换StringInteger?或没有.

我意识到我可以很容易地解决这个问题,但我想知道我错过了什么.

    Dim NullString As String = Nothing
    Dim NullableInt As Integer? = CType(NullString, Integer?) 'Expected NullableInt to be Nothing, but it's 0!
    NullableInt = Nothing 'This works, of course. NullableInt is Nothing. 
Run Code Online (Sandbox Code Playgroud)

编辑:以前我把我的代码放在这里,所以没有明确的转换Integer?,每个人似乎都被这个混淆/困惑.Option Strict On有很多建议会抓住这类东西.然而,这实际上是字符串到整数转换规则的一个怪癖,它早于可空类型,但仍会影响它们.

.net vb.net nullable

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

返回未指定类型的通用

是否有可能创建一个返回未指定类型的泛型的函数,像这样?

Public Function Create(ByVal type As Type) As DeserializationHelper(Of )
    Dim DynamicHelper = GetType(DeserializationHelper(Of )).MakeGenericType(type)

    Return Activator.CreateInstance(DynamicHelper)
End Function
Run Code Online (Sandbox Code Playgroud)

除了强烈输入返回值之外,一切都在这里工作.我可以将它作为对象,非泛型接口或非泛型基类返回,但我正在尝试制作一个非常简洁流畅的样式API.

我正在尝试创建这样的语法:

Dim Loader As New XLoader(parentContainer, Map)
Dim MyCreature As Creature = Loader.Create(GetType(Creature)).From(xml.<Creature>)
Run Code Online (Sandbox Code Playgroud)

...是的,我知道有内置的xml序列化程序 - 我希望它们能为我工作,但我需要更多的控制权.;)

如果我将这部分移动到另一个项目并用C#编写(然后从VB.NET项目中使用它),C#的Dynamic关键字会帮助我吗?

谢谢.:)

c# vb.net generics fluent-interface dynamic

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