小编Lui*_*reu的帖子

sqlpackage.exe:在导出时忽略用户的任何方法?

我正在尝试创建bacpac文件以将我的数据库导出到azure.
在创建导出包(sqlpackage /a:Export)的同时,是否会让它忽略用户?

sql-server azure bacpac sqlpackage

6
推荐指数
1
解决办法
2225
查看次数

Powershell:当具有字符[]的文件名时移动项目不起作用

关于使用PowerShell移动项目的快速问题:有没有人知道为什么当文件名上有[或]字符时,以下脚本不起作用?(例如:file1 [VT] .txt)

ls j:\ | foreach { 
  $itemName = $_.Name.Replace('.', ' ') 
  $destination = ls | where { $itemName -match $_.Name } | select -First 1 
  if ($destination -ne $null) {       
    mi $_.PSPath $destination.PSPath -Verbose -WhatIf  
  } 
}
Run Code Online (Sandbox Code Playgroud)

例如,它将移动文件,如果它被称为file1.txt,但它将忽略名为file1 [VT] .txt的文件.我假设当它的名字上有字符[或]时,它找不到文件的路径.有任何想法吗?

powershell filenames

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

CORS:访问需要身份验证的 Web 服务(ASP.NET 表单)

我正在尝试在托管多个 WCF 服务的现有 asp.net 网站上启用 CORS。不幸的是,我很难让它发挥作用。乍一看,我被重定向到登录页面(该页面不存在),因此自定义身份验证服务生成的身份验证 cookie 可能有问题。

在继续之前,先简单描述一下我当前的情况:

  • 我有站点 A,它公开了多个 Web 服务(除了身份验证服务之外的所有服务都只能由经过身份验证的用户访问),以及站点 B,它有一个尝试与 Web 服务交互的页面
  • 为了复制这个场景,我将服务+html页面放在同一个地方,并且创建了一个别名(主机文件)以模拟cors调用(假设我将其称为outro.pt) )
  • 身份验证 cookie 使用 FormsAuthentication.GetAuthCookie 生成,然后通过调用 Response.AppendCookie 方法将其添加到响应中
  • 身份验证按预期工作:首先有一个 OPTIONS 调用,然后是一个 POST 调用;当调用第二个 Web 服务(再次 POST)时,没有预检检查(因为第一个调用最终生成 Access-Control-Max-Age 标头,以便缓存预检检查 5 分钟),但网站(outro .pt)最终返回 302,将浏览器重定向到登录页面。

    在继续之前,这里是用于处理预检和允许 cors 调用的演示代码(我已将其放置在应用程序的 beginrequest 事件中):

    private void Application_BeginRequest(object sender, EventArgs e) {
        var ctx = HttpContext.Current;
    
        //allow credentials: always
        ctx.Response.AddHeader("Access-Control-Allow-Credentials", "true");
    
        //add allow origin header
        if (ctx.Request.Headers["Origin"] != null) {
            ctx.Response.AddHeader("Access-Control-Allow-Origin", ctx.Request.Headers["Origin"]);
        }
    
        if (ctx.Request.Headers["Access-Control-Request-Headers"] != null) {
            ctx.Response.AddHeader("Access-Control-Allow-Headers", ctx.Request.Headers["Access-Control-Request-Headers"]);
        } …
    Run Code Online (Sandbox Code Playgroud)

asp.net authentication cookies jquery cross-domain

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

EF 6:映射复杂类型集合?

EF 6(代码优先)是否支持复杂类型集合(Value Object集合)映射?我知道它支持复杂类型,但还没有找到一个我们有一组复杂类型的例子.

例如,假设您有一个名为Student的实体,该实体具有一组联系人.对于NH,我可以简单地说学生有一组联系人,而联系人是一个组件(相当于ef中的复杂类型).这可以通过EF完成而不改变与实体的联系吗?

c# domain-driven-design entity-framework value-objects complextype

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

如何在netcore 3.0上模拟ILogger.LogXXX方法

到目前为止,我们都是ILogger.LogXXX通过这种方式来模拟调用的。

不幸的是,在将项目更新到.net core 3.0之后,如果您使用严格的模拟(Moq),它总是会抱怨没有相应的设置:

Moq.MockException : ILogger.Log<FormattedLogValues>(LogLevel.Information, 0, 
           Inicio de cancelamento de reserva:  Grm.GestaoFrotas.Dtos.Reservas.Mensagens.MsgCancelamentoReserva, 
           null, 
           Func<FormattedLogValues, Exception, string>) invocation failed with mock behavior Strict.
All invocations on the mock must have a corresponding setup.
Run Code Online (Sandbox Code Playgroud)

不幸的是,我不能FormattedLogValues像这样简单地更改对象:

_container.GetMock<ILogger<GestorReservas>>()
          .Setup(l => l.Log(It.IsAny<LogLevel>(),
                            It.IsAny<EventId>(),
                            It.IsAny<FormattedLogValues>(),
                            It.IsAny<Exception>(),
                            It.IsAny<Func<FormattedLogValues, Exception, string>()));
Run Code Online (Sandbox Code Playgroud)

这不会起作用,因为它FormattedLogValues是内部的。

我总是可以更改模拟策略(从严格到宽松),但我更愿意保持原样(严格)。那么,有关于如何解决这个问题的线索吗?

谢谢。

moq .net-core-3.0 ilogger

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

具有选项模式的依赖注入

我正在尝试从 appsettings 文件加载一些设置,但在使用选项模式时加载列表的方式有一个小问题。假设我有以下类(用于加载设置):

public class Application {
    public string Name { get; set; } = "";
    public IEnumerable<string> Roles { get; set; } = new[] {""};
    public Application ToApplicationWithoutPass() => 
        new Application {
            Name = Name,
            Username = Username,
            Roles = Roles.ToList()
        };
}

public class Applications {
    public IEnumerable<Application> AppList { get; set; } = new List<Application>();
}
Run Code Online (Sandbox Code Playgroud)

这是在appsettings文件中定义的设置的样子:

"Applications": {
  "AppList": [
    {
      "Name": "SraWebuserAdmin",          
      "Roles": [ "SraEntitiesWriters", "SraEntitiesReaders", "SraEntitiesLoginAccess" ]
    },
Run Code Online (Sandbox Code Playgroud)

...

以下是在ConfigureServices方法上完成的 …

c# dependency-injection asp.net-core

5
推荐指数
0
解决办法
470
查看次数

使用.NET 4.0在IE中加载.NET UserControls

我有一个遗留应用程序,其中有一个UserControl,用作IE中加载的网页中的activex.在.NET 4.0之前,有安全策略和MMC控制台用于创建代码组等.看起来这一切都已经过去了.NET 4.0.

我想知道是否有人可以给我一些关于如何更新我的UserControl项目的线索,以便它可以对抗.NET 4.0.我一直在进行一些测试,但似乎都没有.事实上,我注意到如果我在编译之前将我的UserControl的.NET版本更新为4.0,它甚至不会被添加到GAC下载区域.它被下载(使用fiddler来测试它),但它根本没有添加到GAC的下载区域.将.NET平台版本设置为3.5或更低,意味着将dll添加到GAC,但它仍然无法从网页中使用(以前工作的旧JS代码一直说它无法在对象Y上找到成员X).

那么,有人能指出我正确的方向吗?在.NET 4.0中,我需要做什么才能在Internet Explorer中加载.NET UserControl?

谢谢.

user-controls internet-explorer .net-4.0 c#-4.0

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

理解 TypeScript 2 中的 never 类型

在查看 TypeScript 2.0 中的新功能时,我找到了never类型。根据文档,这似乎是一种设置永不返回的函数类型的聪明方法。

现在,如果我正确阅读了所有内容,则never可以分配给每种类型,但只能never分配给never. 因此,在用 VS Code 编写一个小测试时,我得到了以下结果:

function generateError(){
    throw new Error("oops");
}
function do(option: "opt1" | "opt2"){
    if(option === "opt1") return true;
    if(option === "opt2 ) return false;
    generateError();
}
let res = do("blah");
Run Code Online (Sandbox Code Playgroud)

那么,预期的类型是res什么?根据编译器的说法,它是string | undefined(这是有道理的,尽管我必须说我期望string)。我想我没有看到仅仅为了表示永远不会返回的函数而拥有一个新类型的意义。我们真的需要这个概念吗?这只是帮助它进行更好的流程分析的编译器吗?

typescript typescript2.0

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

EF代码中的Discriminator列首次发布

愚蠢的问题:我们如何在EF 4.1 RTM上指定鉴别器列的值?我有这个:

modelBuilder.Entity<Entity>( )
            .Map<Individual>( m => m.Requires( ind => ind.EntityKind ).HasValue( 1 ) )
            .Map<Company>( m => m.Requires( c => c.EntityKind ).HasValue( 2 ) );
Run Code Online (Sandbox Code Playgroud)

这是我发现的关于它的链接.但是,似乎HasValue现在不接受任何参数.对此有何帮助?顺便说一下,我在哪里可以找到关于EF代码的完整正确的文档?

谢谢.

entity-framework ef-code-first

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

dagger2 和 android:加载模块,在地图上注入视图模型

我已经开始使用 Dagger2,所以还有很多东西要学。我想知道是否有人可以指出我正确的方向。

所以,我创建了一个模块来注册我的活动使用的视图模型。它看起来像这样:

@Module
abstract class ViewModelModule {
    @Binds
    internal abstract fun bindViewModelFactory(factory: ViewModelFactory): ViewModelProvider.Factory

    @Binds
    @IntoMap
    @ViewModelKey(MainActivityViewModel::class)
    internal abstract fun bindMainActivityViewModel(viewModel: MainActivityViewModel): ViewModel

    @Binds
    @IntoMap
    @ViewModelKey(ShowDetailsViewModel::class)
    abstract fun bindShowDetaislViewModel(viewModel: ShowDetailsViewModel): ViewModel
}
Run Code Online (Sandbox Code Playgroud)

ViewModelKey 是一个简单的辅助注释类,如下所示:

@Target(AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER)
@Retention(AnnotationRetention.RUNTIME)
@MapKey
annotation class ViewModelKey (val value: KClass<out ViewModel>) {
}
Run Code Online (Sandbox Code Playgroud)

ViewModelModule由我的主要应用程序组件(用于创建应用程序)加载:

@Singleton
@Component(
        modules=[
            AndroidSupportInjectionModule::class,
            AppModule::class,
            DatabaseModule::class,
            NewsServiceModule::class,
            JobBindingModule::class,
            ViewModelModule::class,
            PreferencesModule::class,
            ActivityBindingModule::class
        ]
)
interface AppComponent: AndroidInjector<MyApp> {
    @Component.Builder
    abstract class Builder: AndroidInjector.Builder<MyApp>()
}
Run Code Online (Sandbox Code Playgroud)

这是 的代码ActivityBindingModule,负责设置子组件(在本例中,是我的应用程序使用的活动):

@Module …
Run Code Online (Sandbox Code Playgroud)

android dagger-2

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