小编lop*_*oni的帖子

Microsoft.Extensions.Cashing.Redis 和 Microsoft.Extensions.Caching.StackExchangeRedis.RedisCache 之间的差异

我有点失落。我正在阅读有关使用 Redis 进行 ASP.NET Core 缓存的 Microsoft 文档。并且文档建议使用 Microsoft.Extensions.Caching.StackExchangeRedis,这是一个开源第三方库。

但是我看到其他一些教程正在使用 Microsoft.Extensions.Caching.Redis,这是一个更原生的 asp.net 核心。

最后他们都使用相同的接口 IDistributedCache

为什么我需要 StackExchangeRedis 以及它比 Microsoft.Extensions.Caching.Redis 有什么优势?

redis azure-redis-cache asp.net-core

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

有没有办法检查打印过程是否成功?

我有一个应用程序,我需要打印一张票.每张票必须是唯一的.该应用程序是Windows窗体,完全用c#编写.对于我们的应用,我们使用的是三星ML-2525激光单色打印机.

流程基本上如下,操作员选择产品/票据(这是唯一的),然后按下一个按钮,执行以下两项操作:

  1. 连接到数据库并更新使用的产品
  2. 打印票证(这是使用System.Drawing和GDI +完成的)

出于某种原因,每隔一段时间,需要打印的图像不会被发送到打印机.这是一种罕见的情况,但它确实发生了.

我尝试使用Win32_Printer(http://msdn.microsoft.com/en-us/library/Aa394363)连接到打印机,但我无法获得当前打印机的状态(在线,离线,低碳粉,卡纸等).我只能检查打印机是否存在以及纸张尺寸是否正确安装.我尝试了类似以下的代码,但它没有用

    private string MonitorPrintJobWmi()
    {
        var jobMessage = String.Empty;
        var scope = new ManagementScope(ManagementPath.DefaultPath);
        scope.Connect();

        var selectQuery = new SelectQuery { QueryString = @"select *  from Win32_PrintJob" };

        var objSearcher = new ManagementObjectSearcher(scope, selectQuery);
        var objCollection = objSearcher.Get();

        foreach (var job in objCollection)
        {
            if (job != null)
            {
                jobMessage += String.Format("{0} \r\n", job["Name"].ToString());
                jobMessage += String.Format("{0} \r\n", job["JobId"].ToString());
                _jobId = Convert.ToInt32(job["JobId"]);
                jobMessage += String.Format("{0} \r\n", job["JobStatus"].ToString());
                jobMessage += String.Format("{0} \r\n", job["Status"].ToString()); …
Run Code Online (Sandbox Code Playgroud)

c# printing system.printing winforms

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

从与我的应用程序相同的位置启用下载先决条件

我目前有一个通过clickonce部署部署的winforms应用程序.当我尝试从一台机器部署它时,它会抛出以下错误:

要在"先决条件"对话框中启用"从我的应用程序的相同位置下载先决条件",必须将项目"Microsoft .NET Framework 4(x86和x64)"的文件"DotNetFX40\dotNetFx40LP_Full_x86_x64es.exe"下载到本地计算机.有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=239883.

我正在尝试部署的应用程序将西班牙语作为其发布语言,因此它尝试下载语言包(dotNetFx40LP_Full_x86_x64es.exe)

我确实下载了必要的文件作为错误建议中的链接,但问题仍然存在.我将错误链接中建议的文件添加到文件夹%ProgramFiles%\ Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages(对于Visual Studio 2010).我还尝试将它们添加到%ProgramFiles%\ Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages(对于Visual Studio 2012)

我在我的计算机上安装Visual Studio 2012时启动此问题.我现在在Windows 7 Professional(64位)上并排安装了Visual Studio 2010和2012.之前工作正常.它在另一台没有安装Visual Studio 2012的机器上也能正常工作.

我尝试使用Visual Studio 2010和2012发布应用程序但没有工作.此外,如果我将语言更改为英语,它会发布.

卸载Visual Studio 2012并以英语发布不是有效选项.

任何见解都是受欢迎的.

deployment clickonce prerequisites visual-studio-2010 visual-studio-2012

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

将webjobs功能公开到仪表板,无需天蓝色存储

这个问题中,有一个关于如何使用webjob的示例,该webjob可以在不与azure表存储交互的情况下执行一些后台操作.

我试图在答案中复制代码,但它抛出以下错误:

无法从Azure WebJobs SDK调用"Void ScheduleNotifications()".是否缺少Azure WebJobs SDK属性?"

这个链接中,他们有一个类似的错误,在其中一个答案中,它说这是在0.4.1-beta版本中修复的.我正在运行0.5.0-beta版本,我遇到了错误.

这是我的代码的副本:

class Program
{
    static void Main()
    {
        var config = new JobHostConfiguration(AzureStorageAccount.ConnectionString);
        var host = new JobHost(config);

        host.Call(typeof(Program).GetMethod("ScheduleNotifications"));

        host.RunAndBlock();
    }

    [NoAutomaticTrigger]
    public static void ScheduleNotifications()
    {
        //Do work
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道我是否遗漏了某些内容,或者这仍然是Webjobs SDK中的一个错误.

更新:根据Victor的回答,计划类必须公开.

工作代码:

public class Program
{
    static void Main()
    {
        var config = new JobHostConfiguration(AzureStorageAccount.ConnectionString);
        var host = new JobHost(config);

        host.Call(typeof(Program).GetMethod("ScheduleNotifications"));

        host.RunAndBlock();
    }

    [NoAutomaticTrigger]
    public static void ScheduleNotifications()
    {
        //Do work
    }
}
Run Code Online (Sandbox Code Playgroud)

azure azure-webjobs

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

如何在ASP.NET MVC 5项目中获得"添加控制器"和"添加视图"菜单选项?

我使用本教程将我的解决方案从MVC 4升级到Visual Studio 2012中的MVC 5 .在最后一步中,我从我的.csproj文件中删除了MVC 4的ProjectTypeGuid .

现在的问题是,我没有看到Add Controller,Add View在Visual Studio中,当我想创造新的控制器/浏览次数.

我读了MVC 4的这个答案所以我知道我需要为MVC 5获取正确的ProjectTypeGuid才能重新获得该功能.我想知道是否有人知道那是什么,以便我可以将它们添加到我的.csproj文件中?

c# upgrade asp.net-mvc-4 visual-studio-2012 asp.net-mvc-5

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

如何在 Visual Studio 的 Azure Functions 应用程序中调用和调试 SignalRTrigger 函数

我正在按照本指南使用 SignalR 触发器绑定构建我的第一个 Azure Function App 。我已经在 Azure 中设置了 Function App 和 SignalR 服务。

但现在我需要调试我的 SignalR 触发函数之一。我尝试使用本地函数主机 (func.exe) 使用 Visual Studio 2022 来执行此操作,只需在我的 Azure Functions 项目中按 F5 即可。

我的 ServerlessHub 带有一个函数 JoinGroup,我想在 Visual Studio 中调用和调试该函数。

        namespace FunctionApp
        {
            public class SimpleChat : ServerlessHub
            {
                [FunctionName("negotiate")]
                public SignalRConnectionInfo Negotiate([HttpTrigger(AuthorizationLevel.Anonymous)]HttpRequest req)
                {
                    var claims = GetClaims(req.Headers["Authorization"]);
                    return Negotiate(
                        claims.First(c => c.Type == ClaimTypes.NameIdentifier).Value,
                        claims
                    );
                }

                [FunctionName(nameof(JoinGroup))]
                public async Task JoinGroup([SignalRTrigger]InvocationContext invocationContext, string connectionId, string groupName)
                {
                    throw new ApplicationException("CODE REACHED"); …
Run Code Online (Sandbox Code Playgroud)

c# signalr signalr-hub azure-functions azure-signalr

6
推荐指数
0
解决办法
596
查看次数

哪个LINQ查询从1个表中选择不在另一个表中的行

我正在开发一个应用程序,其中我有两个不同的实体,产品和ShoppingCarts.每种产品都是唯一的,并具有唯一的标识符.我想添加一个尚未出现在另一个购物车中但未出售给ShoppingCart的产品.

产品实体简化:

public class Products
{
    public int Id { get; set; }
    public string Name{ get; set; }
    public bool Sold { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

购物车实体简化:

public class ShoppingCarts
{
    public int Guid Guid { get; set; }
    public int ProductId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

所以首先我检索所有Product.Id,然后将它们添加到我的购物车.我的方法看起来像这样:

private IQueryable<Products> GetAvailableProductId(int quantity)
{
    var query = (from p in _context.Set<Products>()
                join sc in _context.Set<ShoppingCarts>() on p.Id equals sc.ProductId into subset
                from sc in subset.DefaultIfEmpty()
                where !p.Sold && sc == …
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-entities entity-framework

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

为 Azure Web App 配置应用程序网关时出现 502 错误

设想

配置 Azure 应用程序网关以将流量路由到不同的 Azure Web 应用程序,以利用 Web 应用程序防火墙 (WAF)。

初始配置工作正常,只是浏览器中的最终 URL 是 {mysite}.azurewebsites.net。我希望这是自定义域名 {subdomain}.{mysite}.com。这是通过将后端池绑定到应用程序服务来配置的。将其更改为 FQDN 不起作用。下面的屏幕截图。

CNAME 已指向网关。

期望的结果

当有人点击 {subdomain}.{mysite}.com(已配置为指向网关)时,我应该得到 {subdomain}.{mysite}.com 而不是 {mysite}.azurewebsites.net

当前设置

网关配置了多站点侦听器,其规则指向后端池,并且还绑定到 http 设置。

侦听器正在侦听 {subdomain}.{mysite}.com

后端池配置 池配置

探头配置 探针配置

HTTP 设置配置 设置配置

以下链接提供了一些部分答案/配置,但没有一个对我有用。 应用程序网关 - 502 错误

https://learn.microsoft.com/en-us/azure/application-gateway/troubleshoot-app-service-redirection-app-service-url

https://learn.microsoft.com/en-us/azure/application-gateway/create-web-app

更新

以下是使用 azure 门户 UI 在 Azure 应用程序网关和 WAF(Web 应用程序防火墙)后面配置具有自定义域的 azure 应用服务的步骤列表。

  1. 配置后端池,目标指向您的应用服务。
  2. 使用以下设置配置运行状况探测器

    • 协议:HTTP 或 HTTPS
    • 主机:{appservice}.azurewebsites.net
    • 小路: /
  3. 配置 Http 设置

    • 未选中的情况下使用应用服务。
    • 使用自定义探针检查
    • 未选中从后端地址选择主机名(您可能必须选中此选项才能配置规则,然后取消选中它)。
  4. 配置监听器

    • 主机名:{子域名}.{域名}.com(您的域名)
  5. 配置基本规则

    • 将其绑定到适当的 http 设置、后端池和侦听器
    • 注意:如果没有选中从后端选择主机名的 http …

azure azure-application-gateway

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

在灰度图像MATLAB上绘制掩模

我正在运行一种算法来使用形态学操作来分割图像的一部分.我最终得到了一个代表分割结果的二维二进制图像.即,面具.我的问题是如何在其上绘制原始图像和掩模覆盖颜色.

谢谢.

matlab plot grayscale

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

使用T4MVC在RedirectToAction()中传递对象

可能重复:
将数据从Action传递给另一个Action

我有一个视图,我提交一个表单,并根据我想重定向到一个动作的结果.对应于和动作的视图是强类型的,它应该接受ResultsViewModel.

我正在尝试使用T4MVC传递ResultsViewModel.

以下是代码:

    [HttpPost]
    public virtual ActionResult AddEntity(string viewModel)
    {
        //Deserialize using Json.NET
        var entity = JsonConvert.DeserializeObject<MyEntity>(viewModel);

        var success = DoSomething(); //returns boolean
        if(success)
        {
            var result = new ResultsViewModel { MyEntity = entity, MessageId = 1};
            return RedirectToAction(MVC.MyController.ResultsPage(result));
        }

        var result = new ResultsViewModel { MyEntity = entity, MessageId = 2};
        return RedirectToAction(MVC.MyController.ResultsPage(result));
    }

    public virtual ActionResult ResultsPage(ResultsViewModel viewModel)
    {
        return View(viewModel);
    }
Run Code Online (Sandbox Code Playgroud)

当代码到达时

    public virtual ActionResult ResultsPage(ResultsViewModel viewModel)
    {
        return View(viewModel);
    }
Run Code Online (Sandbox Code Playgroud)

viewModel始终等于null.

我知道我可以这样做:

return RedirectToAction("ResultsPage", …
Run Code Online (Sandbox Code Playgroud)

c# t4mvc asp.net-mvc-3

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

动态 LINQ OrderBy 日期仅在 DateTime 对象实体框架上

我目前正在使用动态 LINQ原始 codeplex 链接)库来实现动态搜索功能。我有一个要求,我需要OrderBy一个DateTime?只考虑日期而不是时间的字段。我正在使用EntityFramework.

这是示例实体。

public class SampleEntity
{
    public DateTime? DateCreated { get; set; }
    public bool Flag { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是查询数据库的代码。

var orderByString = "DateCreated.Value.Date asc, Flag"; //This is a dynamic string
var query = _context.Set<SampleEntity>().OrderBy(orderByString);
Run Code Online (Sandbox Code Playgroud)

这个表达式 ("DateCreated.Value.Date") 被解析没有问题,System.Linq.Dynamic但它抛出以下错误(这是可以理解的),因为它不受 LINQ to Entities 支持。请记住,这必须在 IQueryable 上工作(我不能使用这篇文章中的答案),因为我需要在服务器端进行排序。

LINQ to Entities 不支持指定的类型成员“日期”。仅支持初始值设定项、实体成员和实体导航属性。

解决的办法是使用DbFunctions.TruncateTime()如表示在这个答案等。但是,这不会与System.Linq.Dynamic

关于如何解决这个问题的任何想法。可能的解决方案是将另一列添加到只有日期部分的数据库DateCreated并查询该列。但是,我宁愿不这样做,而是在寻找解决此问题的其他方法。另一种方法是动态生成 lambda 表达式并返回 DbFunctions.TruncateTime,然后对 DB …

c# linq linq-to-entities entity-framework entity-framework-6

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