AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / coding / 问题

问题[asp.net-mvc](coding)

Martin Hope
Parth Sharma
Asked: 2025-03-28 17:00:04 +0800 CST

在 ASP.NET Core MVC 8.0 中使用 RDLC 时缺少 vbc.exe

  • 6

我们想使用 RDLC 报表设计器下载 PDF 文件,并在页脚部分使用表达式来使用页码选项,但在运行文件时,出现以下错误,当我们尝试在上述目录中找到 v8.0.14 文件夹时,没有任何信息。旧建议说“只是将 vbc.exe 从 4.0 复制到 8.0.0”,但目录中没有 8.0.0 (dotnet) 文件夹。

处理请求时发生未处理的异常。

InvalidOperationException:找不到编译器可执行文件 C:\WINDOWS\Microsoft.NET\Framework64\v8.0.14\vbc.exe。

AspNetCore.ReportingServices.ReportPublishing.ReportPublishing.InternalCreateIntermediateFormat(Stream definitionStream, 输出字符串描述, 输出字符串语言, 输出ParameterInfoCollection 参数, 输出DataSourceInfoCollection 数据源, 输出DataSetInfoCollection sharedDataSetReferences, 输出UserLocationFlags userReferenceLocation, 输出ArrayList dataSetsName, 输出bool hasExternalImages, 输出bool hasHyperlinks, 输出byte[] dataSetsHash)

ReportProcessingException:报告处理中发生意外错误。 找不到编译器可执行文件 C:\WINDOWS\Microsoft.NET\Framework64\v8.0.14\vbc.exe。

甚至 ChatGPT 也无法正确回答,陷入了循环!

asp.net-mvc
  • 1 个回答
  • 27 Views
Martin Hope
gtezini
Asked: 2025-02-19 04:48:10 +0800 CST

VS 2022 - 如何防止在发布时创建 .gz 文件

  • 5

.gz将我的 ASP.NET MVC 项目发布到磁盘后,我在 VS 2022 中遇到了奇怪的行为。该工具为每个相关文件创建了大量文件.js。

更不用说它还创建了许多.js.br文件。

我正在使用最新的 VS 2022 社区版,v17.13.0。

在此处输入图片描述

请问如何防止发布时出现这种奇怪的行为?

asp.net-mvc
  • 1 个回答
  • 23 Views
Martin Hope
Andrus
Asked: 2024-12-27 06:17:26 +0800 CST

如何将 tstzrange 传递给 postgres

  • 5

使用以下方法将 tstzrange 传递给 EF Core 中的 postgres

DateTime algus = DateTime.Parse("2024-11-25T00:00:00+02:00", CultureInfo.InvariantCulture).ToUniversalTime();
DateTime lopp = DateTime.Parse("2025-01-25T22:00:00+02:00", CultureInfo.InvariantCulture).ToUniversalTime();

await ctx.Database.SqlQuery<DateTime>($@"
select lower(tstzrange '[{algus},{lopp})') as ""Value""
").ToArrayAsync();

抛出错误

invalid input syntax for type timestamp with time zone: "@p0" at character 20
STATEMENT:  select tstzrange '[@p0,@p1)'

如何将 tstzrange 传递给 Postgres?

代码位于 ASP.NET 9 MVC 控制器中

应用程序使用 Postgres 12 及更高版本的服务器以及最新的 Npgsql Entity Framework Core Provider

asp.net-mvc
  • 1 个回答
  • 36 Views
Martin Hope
Le Gros-Porteur
Asked: 2024-10-02 17:29:37 +0800 CST

ASP.NET MVC 区域的名称不应该是路线

  • 5

在我的 ASP.NET MVC 项目中,我有一些具有特定名称的区域,Admin但我希望我的路线使用iAdmin。

为此,我使用了RegisterArea可以指定路线的位置,并且效果很好:

context.MapRoute(
            "Admin_default",
            "iAdmin/{action}",
            new { controller = "iAdmin", action = "Index" }
        );

但是,在项目中我有另一个默认的路由:

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}",
    defaults: new { controller = "Identification", action = "Index" }
);

使用此默认路由采用控制器名称,并且由于我的控制器以区域名称而不是路由名称命名,(因此AdminController而不是iAdminController)如果 url 类似于/Admin,则路由将起作用,而我不想要那样。

我怎样才能防止这种情况发生?

我尝试了这两种解决方案:

  • 我可以忽略每条RegisterArea我不想要的路线,这似乎没问题,但有点太多了,因为我相信我必须忽略每一个动作,除非我可以使用 RegEx
  • 或者我可以将区域中的控制器重命名为我想要的名称,老实说,这不仅看起来最简单,而且如果我们原来的命名控制器的方法是一个坏主意/做法,那么这也可能是正确的答案

我的问题是:

  • 还有其他方法可以阻止使用我们所在区域控制器的名称进行路由吗?
  • 我们的控制器原来的命名是否存在问题?

提前感谢您的时间

asp.net-mvc
  • 1 个回答
  • 31 Views
Martin Hope
Nikola
Asked: 2024-09-25 21:17:17 +0800 CST

更改特定角色用户的默认登录页面

  • 5

如何更改属于某个角色(比如说“管理员”)的用户的登录页面。更具体地说,当具有“管理员”角色的用户访问应用程序站点( http://localhost:1234/ )时,应将他路由到控制器“AdminController”的“Index”操作方法。当所有其他用户(不具有“管理员”角色)访问站点时,应将他们路由到控制器“HomeController”的“Index”操作方法(这由默认映射路由满足routes.MapRoute(name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }))。

“管理员”角色用户不得访问除“AdminController”之外的任何其他控制器。

编辑 1:或者是否无法使用路由来执行此操作,因为尚未形成 HttpContext,并且必须在某些控制器操作方法内部进行检查(然后用户重定向)?

asp.net-mvc
  • 1 个回答
  • 16 Views
Martin Hope
svnflw
Asked: 2024-08-05 10:54:33 +0800 CST

ASP.NET 中长时间运行的后台线程终止

  • 4

我构建了一个 ASP.NET MVC Web 服务器,它通过套接字连接到硬件设备。这个想法是生成一个线程,打开套接字并侦听来自硬件的 TCP 包。由于硬件执行的是一项需要大量时间(数年)才能完成的长期任务,因此我希望尽可能长时间地保持线程处于活动状态,以便使用 SignalR 监视进程并将一些数据保存到数据库。

为了实现这一点,我创建了一个如下的线程:

rs = new TcpListener(IPAddress.Any, PORT_DATA_NUMBER());
rs.Start();  
Thread thread = new Thread(() => ListenerHandleConnections(rs));  
thread.IsBackground = true;  
thread.Start();

线程工作流程如下:

public static void ListenerHandleConnections(TcpListener listener)
{
     try
     {
         TcpClient client;
         while (true)
         {
             try
             {
                 client = listener.AcceptTcpClient();
                 //extract data and doing some task
             }
             catch (Exception ex)
             {
                 //Doing some task
             }
         }
      }
      catch (Exception ex)
      {
         //Doing some task
      }
}

我面临的问题是,当我将其部署到 IIS 并运行超过 2 小时时,线程被终止,并且没有进程再监听硬件。这个问题是由 IIS 引起的吗?有什么解决方案可以解决它吗?

我已将异常保存到数据库,而我得到的只是“线程正在中止”。

asp.net-mvc
  • 1 个回答
  • 52 Views
Martin Hope
AlwaysConfused
Asked: 2024-02-14 17:00:03 +0800 CST

ViewComponent 视图未找到

  • 5

我创建了一个 ASP.NET Core MVC (.net core 8) 项目。我添加了一个虚拟 ViewComponent,每次运行该应用程序时,都会收到以下错误:

An unhandled exception occurred while processing the request.
InvalidOperationException: The view 'Components/Dummy/Default' was not found. The following locations were searched:
/Views/Home/Components/Dummy/Default.cshtml
/Views/Shared/Components/Dummy/Default.cshtml

我检查了 MicroSoft 文档,并检查了 StackOverflow 等论坛,但没有任何效果。

任何帮助将非常感激。

这是解决方案资源管理器视图:

解决方案浏览器

这是 ViewComponent 类:

public class DummyViewComponent : ViewComponent
{
    public DummyViewComponent()
    {
  
    }

    public async Task<IViewComponentResult> InvokeAsync()
    {
        await Task.Delay(TimeSpan.FromMilliseconds(1));

        return View();
    }
}

这是 CSHTML:

<div>
    Dummy view component!
</div>

这是在主页(索引)页面中调用它的地方:

@{
    ViewData["Title"] = "Overview";
}

@section Styles {
   
}

@await Component.InvokeAsync("Dummy")

@section Scripts {
    
}

正如你所看到的,这非常简单 - 我真的看不出问题出在哪里。

提前谢谢了。

asp.net-mvc
  • 1 个回答
  • 21 Views
Martin Hope
Mehmet
Asked: 2024-01-03 21:51:31 +0800 CST

上传图像文件时,我没有收到代码错误,但收到了我自己设置的所需错误,我在哪里做错了?

  • 5

当我想保存图像时,遇到问题,我在模型中强制出现了错误,但是在应用程序运行时我没有收到任何错误行,当我使用断点时,我看到图像出现了模型有效,但有效返回错误,但我找不到解决方案,你能帮忙吗?

我在“创建”页面上获取图像数据的字段

<div class="form-group my-3">
    <label asp-for="UniversityImage"></label>
    <input name="file" type="file" class="form-control" />
</div>

我的管理仪表板

 [HttpPost]
 [ValidateAntiForgeryToken]
 public async Task<IActionResult> Create([FromForm] UniversityDtoForInsertion universityDto, IFormFile file)
 {
     if (ModelState.IsValid)
     {
         string path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "images", file.FileName);

         await using (var stream = new FileStream(path, FileMode.Create))
         {
             await file.CopyToAsync(stream);
         }
         universityDto.UniversityImage = String.Concat("/images/", file.FileName);
         _serviceManager.UniversityService.CreateUniversity(universityDto);
         TempData["success"] = $"{universityDto.UniversityName} has been created.";
         return RedirectToAction("Index");
     }
     return View();

 }

数据传输对象

public record UniversityDto
{
    public int UniversityId { get; init; }

    [Required(ErrorMessage = "UniversityName is Required")]
    public string UniversityName { get; init; }

    [Required(ErrorMessage = "UniversityDescription is Required")]
    public string UniversityDescription { get; init; }

    [Required(ErrorMessage = "UniversityAddress is Required")]
    public string UniversityAddress { get; init; }

    [Required(ErrorMessage = "UniversityWebAddress is Required")]
    public string UniversityWebAddress { get; init; }

    [Required(ErrorMessage = "UniversityPhone is Required")]
    public string UniversityPhone { get; init; }

    [Required(ErrorMessage = "UniversityImage is Required")]
    public string UniversityImage { get; set; }

}

IUniversity服务层

University CreateUniversity(UniversityDtoForInsertion universityDto);

大学管理者层

 public University CreateUniversity(UniversityDtoForInsertion universityDto)
 {
     if (universityDto is null)
     {
         throw new ArgumentNullException(nameof(universityDto));
     }

     University university = _mapper.Map<University>(universityDto);

     _manager.University.Create(university);
     _manager.Save();
     return university;
 }

IUniversityRepository层

 public interface IUniversityRepository : IRepositoryBase<University>
 {
     IQueryable<University> GetAllUniversities(bool trackChanges);
     University? GetOneUniversity(int id, bool trackChanges);

     void CreateOneUni(University university);
     void UpdateOneUni(University university);
     void DeleteOneUni(University university);
 }

大学存储库层

 public void CreateOneUni(University university) => Create(university);

当我继续使用断点时,显示问题的点如下图所示,您能帮忙吗? 在此输入图像描述

asp.net-mvc
  • 1 个回答
  • 41 Views
Martin Hope
JohnS
Asked: 2023-12-16 23:50:23 +0800 CST

使用 Mock 为带有 dot net 6.0 和工作单元的 Web API 项目编写 TDD 测试

  • 6

我有一个Web API项目,我使用dot net 6.0的工作单元模式,并想为其编写测试。

我有一个如下所示的控制器和一个用于身份验证的函数:

public AuthController(IUnitOfWork uow, IStringLocalizer<SharedTranslate> localizer, IJwtAuthenticatorManager jwtAuthenticatorManager) : base(uow, localizer)
{
    //...
}

[HttpPost("authenticate")]
public async Task<IActionResult> Authenticate([FromBody] UserLoginViewModel Request)
{
    User user = await _uow.UserRepository.GetAsync(u => u.Username == Request.Username);
    //...
}

对于 Moq 的单元测试,我使用以下代码:

var unitOfWork = new Mock<IUnitOfWork>();
 unitOfWork
 .Setup(uow => 
 uow.UserRepository.GetAsync(It.IsAny<Expression<Func<User, bool>>>()))
.ReturnsAsync(new User());
var localizor = new Mock<IStringLocalizer<SharedTranslate>>();
var jwtManager = new Mock<IJwtAuthenticatorManager>();
var controller = new AuthController(unitOfWork.Object, localizor.Object, jwtManager.Object);
UserLoginViewModel userLoginViewModel = new UserLoginViewModel
{
    Username = "test",
    Password = "test"
};
var result = await controller.Authenticate(userLoginViewModel);

当我调试它时,它无法连接到数据库(例如身份验证函数中的对象用户为空)并检查。

1.问题是什么?

2.这个方法适合测试吗?

asp.net-mvc
  • 1 个回答
  • 71 Views
Martin Hope
Dylan Lucas
Asked: 2023-08-18 21:50:04 +0800 CST

不能在字符串上使用 [Route("")],而学校示例表明可以

  • 6

所以我正在做学校的任务,到目前为止一切都很有效并且有意义。但现在我正在使用控制器创建路由,并且示例代码在本地不起作用。这是代码:

using Microsoft.AspNetCore.Components;

namespace HelloCoreEmpty.Controllers
{
    [Route("about")]
    public class AboutController
    {
        [Route("")]
        public string Phone()
        {
            return "Test";
        }
    }
}

第一个[Route]有效,但后者返回此错误:

“属性路由在此声明类型上无效”

asp.net-mvc
  • 1 个回答
  • 35 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    重新格式化数字,在固定位置插入分隔符

    • 6 个回答
  • Marko Smith

    为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会?

    • 2 个回答
  • Marko Smith

    VScode 自动卸载扩展的问题(Material 主题)

    • 2 个回答
  • Marko Smith

    Vue 3:创建时出错“预期标识符但发现‘导入’”[重复]

    • 1 个回答
  • Marko Smith

    具有指定基础类型但没有枚举器的“枚举类”的用途是什么?

    • 1 个回答
  • Marko Smith

    如何修复未手动导入的模块的 MODULE_NOT_FOUND 错误?

    • 6 个回答
  • Marko Smith

    `(表达式,左值) = 右值` 在 C 或 C++ 中是有效的赋值吗?为什么有些编译器会接受/拒绝它?

    • 3 个回答
  • Marko Smith

    在 C++ 中,一个不执行任何操作的空程序需要 204KB 的堆,但在 C 中则不需要

    • 1 个回答
  • Marko Smith

    PowerBI 目前与 BigQuery 不兼容:Simba 驱动程序与 Windows 更新有关

    • 2 个回答
  • Marko Smith

    AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String”

    • 1 个回答
  • Martin Hope
    Fantastic Mr Fox msvc std::vector 实现中仅不接受可复制类型 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant 使用 chrono 查找下一个工作日 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor 构造函数的成员初始化程序可以包含另一个成员的初始化吗? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský 为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul C++20 是否进行了更改,允许从已知绑定数组“type(&)[N]”转换为未知绑定数组“type(&)[]”? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann 为什么 {2,3,10} 和 {x,3,10} (x=2) 的顺序不同? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller 在 5.2 版中,bash 条件语句中的 [[ .. ]] 中的分号现在是可选的吗? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench 为什么双破折号 (--) 会导致此 MariaDB 子句评估为 true? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng 为什么 `dict(id=1, **{'id': 2})` 有时会引发 `KeyError: 'id'` 而不是 TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String” 2024-03-20 03:12:31 +0800 CST

热门标签

python javascript c++ c# java typescript sql reactjs html

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve