小编Sas*_*n K的帖子

使用内存缓存时,Asp.Net MVC中的InvalidOperationException

我需要In-Memory Cache在我的网站上提出申请,.NetFramework 4.5.2但出现了以下例外情况:

Unity.Exceptions.ResolutionFailedException:'解决依赖关系失败,类型='Tranship.UI.Areas.Portal.Controllers.SearchResultController',名称='(无)'。发生以下异常:正在解决。异常是:InvalidOperationException-当前类型Microsoft.Extensions.Caching.Memory.IMemoryCache是​​一个接口,无法构造。您是否缺少类型映射?

我正在使用Asp.net MVC(不是Core)并使用Microsoft.Extensions.Caching.Memory version 1.1.2 这是我的CS文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tranship.Business.Core;
using Tranship.Business.Interface;
using Tranship.DataAccess.UnitOfWork;
using Tranship.Domain.Context;
using Tranship.Domain.Model;
using Tranship.DomainService.Interface;
using Tranship.ViewModel.Model;
using Tranship.ViewModel.Mapper;
using Tranship.ViewModel.Parameter;
using Microsoft.Extensions.Caching.Memory;

namespace Tranship.DomainService.Core
{
    public class ScheduleDomainService : IScheduleDomainService
    {
        private readonly IMemoryCache MemoryCache;
        private readonly string key = "TranshipMemoryCache";
        public BoundedContextUnitOfWork Context { get; set; }
        public IScheduleBiz ScheduleBiz { get; set; }
        public ScheduleDomainService(IMemoryCache memoryCache) …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc caching memorycache asp.net-core

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

ORA-01425: 转义字符必须是长度为 1 的字符串

我们正在开发使用 .net (MVC) 和 Oracle 数据库的软件。之后,我们不得不在新服务器上安装新版本的 Oracle (12.1.0),我们在搜索时遇到了这个错误,而我们在 12.2.0 版中没有这样的错误。错误 :

ORA-01425: 转义字符必须是长度为 1 的字符串

我的查询在这里

availableTasks.Where(task => task.Document.RegistrationNumber.Contains(searchkeyWord) || task.WorkflowNumber.Contains(searchkeyWord) || task.Description.Contains(searchkeyWord));
Run Code Online (Sandbox Code Playgroud)

值得一提的是,当我删除task.Document.RegistrationNumber.Contains(searchkeyWord)task.WorkflowNumber.Contains(searchkeyWord) || task.Description.Contains(searchkeyWord)它完美地工作时。

我来自 Linq 的查询输出:

SELECT 
"GroupBy1"."A1" AS "C1"
FROM ( SELECT 
    COUNT(1) AS "A1"
    FROM   (SELECT "Extent1"."Id" AS "Id1", "Extent1"."Document_Id" AS "Document_Id", "Extent1"."Member_Id" AS "Member_Id", "Extent1"."Command_Id" AS "Command_Id", "Extent1"."InitialTask_Id" AS "InitialTask_Id", "Extent1"."Sender_Id" AS "Sender_Id", "Extent1"."Receiver_Id" AS "Receiver_Id", "Extent1"."Department_Id" AS "Department_Id", "Extent1"."PreviousTask_Id" AS "PreviousTask_Id", "Extent1"."OpeningTime" AS "OpeningTime", "Extent1"."ClosingTime" AS "ClosingTime", "Extent1"."IsDone" AS …
Run Code Online (Sandbox Code Playgroud)

.net oracle asp.net-mvc

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

在LINQ中获取结果函数而不转换为存储表达式

我需要从一个需要在LINQ查询中运行的函数中获取结果.这个结果绑定到网格但在运行时遇到这个错误:

LINQ to Entities无法识别方法'System.String GetName(System.Type,System.Object)'方法,并且此方法无法转换为商店表达式.

这是我的代码:

public IQueryable GetForRah_CapacityList(XQueryParam param)
{
    var result = (from x in Data()
                  select new
                  {
                      Rah_CapacityId = x.Rah_CapacityId,
                      Rah_CapacityName = x.Rah_CapacityName,
                      Rah_St = Enum.GetName(typeof(Domain.Enums.CapacityState), x.Rah_St),
                      Rah_LinesId = x.Rah_LinesId
                  }).OrderByDescending(o => new { o.Rah_CapacityId });
    return result;
}
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-entities entity-framework

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