小编use*_*989的帖子

是否可以使用进程内 aspnet core 3 进行实时重新加载?

我最近将 .Net Framwork AspNet MVC 应用程序升级为 AspNet Core 3 MVC 应用程序,我希望能够更改视图、保存和刷新浏览器窗口以查看更改。现在看来我每次都必须进行构建才能看到任何更改。有没有办法改变这种行为?

这是托管在 IIS 10 下

iis asp.net-core

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

如何实现与每个实现的附加参数/信息的接口

我的MVC webapp允许用户添加和删除图像.UI调用ImageService.SaveImage(...)我的业务层,内部使用一个标志告诉方法保存到Azure或文件系统.我最终可能会添加S3,我认为这里的界面效果很好.

这就是我在ImageService类中对代码进行映像的方法.它不关心文件的保存方式或位置.

// Service the UI uses
public static class ImageService
{
    public static void SaveImage(byte[] data, IImageProvider imageProvider)
    {
        string fileName = "some_generated_name.jpg"
        imageProvider.Save(fileName, data);
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我创建了这些实现

public interface IImageProvider
{
    void Save(string filename, byte[] imageData);
    byte[] Get(string filename);
    void Delete(string filename);
}

// File system implementation
public class FSImageProvider : IImageProvider
{
    public void Delete(string filename)
    {
        File.Delete(filename);
    }

    public byte[] Get( filename)
    {
        return File.ReadAllBytes(filename);
    }

    public void Save(string filename, byte[] imageData)
    { …
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection interface

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

如何在内存中没有密钥的情况下对 EF core 3 视图进行单元测试?

我正在玩 EF Core 3 并编写一些单元测试,但似乎无法为视图设置测试数据。

当我尝试保存时,出现错误:

无法跟踪类型实例,因为它没有主键。只能跟踪具有主键的实体类型

public class EFContext : DbContext
{
    public DbSet<ViewItem> ViewItems { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<ViewItem>().HasNoKey().ToView("vTestView");
    }
}

using (EFContext efContext = new EFContext())
{
    efContext.ViewItems.Add(new ViewItem
    {
        Name = "This is test item #1"
    });

    efContext.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

entity-framework-core ef-core-3.0

8
推荐指数
1
解决办法
5710
查看次数

Visual Studio 2012中缺少.net框架4.5.1

刚刚重新完成了我的机器.

它说,打开一个运行.Net 4.5.1的上一个项目

"C#项目的目标是.NETFramework,Version = v4.5.1,这台机器上没有安装"

安装4.5.2,重新安装VS,重新安装IIS,.NET,并执行aspnet_iisreg -i.

如果我创建一个新项目,则4.5.1不在目标框架列表中.

4.5.2安装在机器上并显示在添加/删除程序列表中.

.net visual-studio-2012

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

如何使用gRPC工具生成代码

我已经阅读了本教程,并且能够生成.cs文件,但其中不包含任何服务或rpc定义。

我已经protoc从项目目录中添加到PATH中。

protoc project1.proto --csharp_out="C:\output" --plugin=protoc-gen-grpc="c:\Users\me\.nuget\packages\grpc.tools\1.8.0\tools\windows_x64\grpc_csharp_plugin.exe"

控制台中无错误输出

c# protocol-buffers grpc

7
推荐指数
2
解决办法
4285
查看次数

在 netcore 控制台应用程序中使用 Web 服务器进行简单路由

我无法让路由与 kestrel 一起工作。

我找不到关于如何在 netcore 控制台应用程序中实现这一点的任何好的教程。

我想构建一个简单的 Web 服务器,它将有 2-3 个我可以访问的端点。

public class WebServer
{
    public static void Init()
    {
        IWebHostBuilder builder = CreateWebHostBuilder(null);
        IWebHost host = builder.Build();
        host.Run();
    }

    public static IWebHostBuilder CreateWebHostBuilder(string[] args)
    {
        var config = new ConfigurationBuilder()
        .SetBasePath(Directory.GetCurrentDirectory())
        .Build();

        return WebHost.CreateDefaultBuilder(args)
            .UseUrls("http://*:5000")
            .UseConfiguration(config)
            .UseStartup<Startup>();
    }

    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddRouting();
            // ????
        }

        public void Configure(IApplicationBuilder app)
        {
            // ????
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# kestrel-http-server asp.net-core

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

如何将List <object>转换为IEnumerable <T>

如何返回expected作为IEnumerable<T>给定下面的代码?

public List<object> expected = new List<object>();

public IEnumerable<T> SqlQuery<T>(string sql)
{
    // Return expected as IEnumerable<T>
}
Run Code Online (Sandbox Code Playgroud)

(这是为单元测试创​​建的类,用于模拟实体框架SqlQuery<T>方法.我们可以提前设置我们的预期结果,并让它返回您期望的结果.)

.net c# generics ienumerable

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

如何从 EF sql 查询返回匿名类型

var results = ObjectContext.ExecuteStoreQuery<T>("exec MyStoredProc");
Run Code Online (Sandbox Code Playgroud)

MyStoreProc 始终返回 1 行,其中 9 列均为 int。

我不想为此一次性使用类型数据创建类或结构。

在不创建类的情况下执行此操作的最干净方法是什么?

c# entity-framework

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

抛出新的异常没有被Server.GetLastError()捕获

在我的控制器操作中,我正在捕获异常并在冒泡到Application_Error()方法之前添加一些额外的信息

ActionResult Index()
{
    try
    {
        var i = 1 / 0;
    }
    catch(Exception e)
    {
        throw new Exception("My new Exception!", e)
    }
}


private void Application_Error(object sender, EventArgs e)
{
    // Breakpoint shows original error! Not my newly thrown one!
    var exception = Server.GetLastError().GetBaseException();
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net

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

如何恢复vs2015项目的NuGet包

我刚刚构建了一台新 PC,安装了我的开发工具,连接到 TFS 并下载了我的项目。现在我的大部分参考文献都转向了 EF、jQuery 等。

包文件夹丢失了所有 .dll,如果我尝试使用 NuGet 恢复,则不会发生任何情况。如果我使用 NuGet 管理器作为解决方案,则没有“强制”重新安装选项。

NuGet 似乎更像是一种障碍而不是帮助。

visual-studio nuget

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

GC中是否删除了非staic类中的静态属性?

我有一个用于单元测试的模拟数据库类

在每个单元测试中,我创建了一个MockDB对象,并且从先前运行的测试中添加的用户已经存在但是静态List对象会持续多长时间,因为该类未被标记为static

public class MockDB
{
    public static List<User> users = new List<User>();

    public void Add(User user)
    {
        users.Add(user);
    }

    public void Remove(User user)
    {
        users.Remove(user);
    }

    public User Get(int userId)
    {
        return users.Where(u => u.UserId == userId);
    }
}
Run Code Online (Sandbox Code Playgroud)

c#

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

如何从核心控制台appSettings.json文件获取字符串数组

如何string[]IConfigurationRoot对象返回?

文件存在并设置为复制到输出

var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("settings.json", optional: false, reloadOnChange: false);
_configuration = builder.Build();

var arr = _configuration["stringArray"]; // this returns null
var arr1 = _configuration["stringArray:0"]; // this works and returns first element
Run Code Online (Sandbox Code Playgroud)

Settings.json

{
  "stringArray": [
    "myString1",
    "myString2",
    "myString3"
  ]
}
Run Code Online (Sandbox Code Playgroud)

c# appsettings .net-core-2.0

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