小编MSD*_*ght的帖子

.NET Core中的CORS

我试图以这种方式在.NET Core中启用CORS:

    public IConfigurationRoot Configuration { get; }

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddCors(options => options.AddPolicy("AllowAll", p => p.AllowAnyOrigin()
                                                                    .AllowAnyMethod()
                                                                     .AllowAnyHeader()));     
        services.AddMvc();            
    }

    public void Configure(IApplicationBuilder app)
    {
        app.UseCors("AllowAll");

        app.UseMvc(routes =>
         {
             routes.MapRoute(
                 name: "default",
                 template: "{controller=Home}/{action=Index}/{id?}");
         });

    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我向Angular 2发送请求到我的应用程序时,我得到了名人

"请求的资源上没有'Access-Control-Allow-Origin'标头."

错误信息.

我也使用Windows身份验证+ WebListener.如果我与邮递员核对,唯一的响应标题是:

Content-Length→3533 Content-Type→application/json; charset = utf-8日期→星期五,2016年10月14日12:17:57 GMT服务器→Microsoft-HTTPAPI/2.0

所以必须仍然配置错误.有什么建议?

如果我删除了outcommented行它,但我需要Windows身份验证:-(

        var host = new WebHostBuilder()
            .UseWebListener()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            //.UseWebListener(options => options.Listener.AuthenticationManager.AuthenticationSchemes = AuthenticationSchemes.NTLM)
            .Build();
Run Code Online (Sandbox Code Playgroud)

c# cors web .net-core

40
推荐指数
6
解决办法
4万
查看次数

.NET Core IServiceScopeFactory.CreateScope()vs IServiceProvider.CreateScope()扩展

我的理解是,当使用内置的依赖注入时,.NET Core控制台应用程序将要求您自己创建和管理所有作用域,而ASP.NET Core应用程序将HttpRequest默认通过已定义的中间件创建和管理作用域.

使用ASP.NET Core,您可以选择创建和管理自己的范围,通过CreateScope()在需要服务之外的服务时调用HttpRequest.

很明显,每次呼叫IServiceScopeFactory.CreateScope()都会创造新的东西IServiceScope; 但是,调用IServiceProvider.CreateScope()扩展方法是否IServiceScope每次都创建一个新的?

基本上,在ASP.NET Core和.NET Core控制台应用程序中创建范围的以下方法之间是否存在有意义的差异:

public class Foo()
{
    public Foo(IServiceProvider serviceProvider)
    {
        using(var scope = serviceProvider.CreateScope())
        {   
            scope.ServiceProvider.GetServices<>();           
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

public class Bar()
{
    public Bar(IServiceScopeFactory scopeFactory)
    {
        using(var scope = scopeFactory.CreateScope())
        {   
            scope.ServiceProvider.GetServices<>();           
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection .net-core asp.net-core

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

由于缺少程序集(.NET core),通过 MetadataLoadContext 检查类型失败

我想检查程序集是否具有特定类型,而不在当前范围内加载程序集,这可以通过 .NET Core 3 中的 MetadataLoadContext 获得。

但如果我尝试下面的例子

internal static class Program
{
    // ReSharper disable once UnusedParameter.Local
    private static void Main(string[] args)
    {
        var paths = new string[] { @"Plugin.dll" };
        var resolver = new PathAssemblyResolver(paths);
        var pluginInterface = typeof(IPlugin);
        using (var context = new MetadataLoadContext(resolver))
        {
            var assembly =
                context.LoadFromAssemblyName(@"Plugin");
            foreach (var type in assembly.GetTypes())
            {
                if (type.IsClass && pluginInterface.IsAssignableFrom(type))
                    Console.WriteLine("found");
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到一个例外

System.IO.FileNotFoundException:找不到核心程序集。在 MetadataLoadContext 构造函数中指定有效的核心程序集名称,或者提供可以加载核心程序集的 MetadataAssemblyResolver。

var context = new MetadataLoadContext(resolver)

核心组件是什么意思?或者我做错了什么? https://blog.vincentbitter.nl/net-core-3-0/ …

c# system.reflection .net-core

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

监控 Direct X 应用程序的 FPS

我希望创建一个外部应用程序来监视 DirectX 应用程序的“FPS”(如没有录制的 FRAPS)。我已经阅读了几篇关于性能测量工具的 Microsoft 文章- 但我希望获得社区的反馈(和经验)。

我的问题:获取 DirectX 应用程序的 FPS 的最佳方法是什么?

c# directx frame-rate visual-studio visual-studio-2012

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

查询TimeSpan.TotalSeconds时,MediaElement.NaturalDuration会引发异常

我有一个winforms表单,我在其中使用MediaElement.一切正常(或多或少)完美.唯一的办法是,在加载媒体文件(mp3)后,访问NaturalDuration.TimeSpan.TotalSeconds会引发异常

InvalidOperatoinException:无法返回TimeSpan属性,持续时间值为automatic.

(由我自己翻译)

我如何访问timespan属性?在我找到的所有示例中都没有使用特殊设置(好吧,它们似乎是WPF本机...)

我在Windows 7上使用VisualStudio Express .Net 4,C#.

任何提示?

.net wpf mediaelement winforms

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

C程序编译错误:未定义的引用

我无法编译以下简单的C代码,我不知道为什么.

#include <stdlib.h>
#include <stdint.h>
#include <stdio.h>
#include <math.h>
int main(){
     double result;
     result = cos(0.5);
     printf("asin(0.5) is %f\n", result);
     return 0;
}
Run Code Online (Sandbox Code Playgroud)

我尝试编译后收到的错误消息是 -

In function 

'main':
test.c:(.text+0xlc): undefined reference to 'cos'
collect2: ld

 returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

c gcc

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

使用QIcon alignleft和文本中心对齐构造QPushButton

我想创建QPushButtonQIcon左对齐(不向中心为默认)和文本居中对齐.我不想使用样式表.我知道可能会使用,QPainter但我无法做到.我几乎没有线索并试过这段代码:

void MyPushButton::paintEvent(QPaintEvent *)
{
    QStylePainter painter(this);
    QStyleOptionButton opt;
    initStyleOption(&opt);
    painter.drawItemPixmap(opt.rect, Qt::AlignLeft, opt.icon);
    painter.drawItemText(opt.rect, Qt::AlignCenter, palette(), 1, opt.text);
    painter.drawPrimitive(QStyle::PE_PanelButtonCommand, opt);
}
Run Code Online (Sandbox Code Playgroud)

这会产生此错误消息

没有匹配函数来调用'QStylePainter :: drawItemPixmap(QRect&,Qt :: AlignmentFlag,QIcon&)'painter.drawItemPixmap(opt.rect,Qt :: AlignCenter,opt.icon);

上面的代码有什么问题?

c++ qt qpainter qpushbutton

-7
推荐指数
1
解决办法
638
查看次数