小编Luk*_*ett的帖子

ImageMagick - 在什么条件下使用 GPU?

我们每天需要调整许多图像的大小。我认为我们应该购买两个像样的 GPU,并将它们安装在旧台式电脑上。

但是,Image Magick 可能无法在 Windows 上使用 GPU(我看不到它使用 DirectX)。它可能无法在 Linux 上使用 GPU,因为 Linux 可能没有所需的操作系统挂钩。它可能只能在 Mac 上使用 GPU。

我只是猜测。

有谁确切地知道哪种操作系统最适合该工具?

谢谢!卢克

imagemagick image-processing

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

ASP.NET会话状态在异常后丢失

我通常避免进程内会话状态,直到这个最近的项目.我认为我遇到一个问题,即在发生未处理的异常后状态丢失.

这本身就很奇怪,因为请求上下文中的异常不会影响工作进程.它可能是后台线程或回调或其他东西的例外,但这是一个简单的网站,没有任何花哨的东西.

会话ID保持不变,并且后续请求不会调用Session_Start(因此WP未回收).

我已经启用了很多日志记录,并且可以看到我从数据层获得异常,它在HttpUnhandleException内部是一个HttpException,然后当我立即浏览到主页时,请求会记录关于缺失的警告州.

更差.这不会发生在我的开发箱(IIS Express)上,仅在QA中.

编辑:

这是一大块日志:

2013-06-12 13:44:29,975 [23] FATAL MvcApplication 100.100.100.100 pxtgn GET An unhandled exception occurred in the web application. The full exception will be unrolled below.
2013-06-12 13:44:30,897 [23] FATAL MvcApplication 100.100.100.100 pxtgn GET Exception.Type: HttpUnhandledException
Exception.Source: System.Web
Exception.Message: Exception of type 'System.Web.HttpUnhandledException' was thrown.
Exception.StackTrace:    at System.Web.UI.Page.HandleError(Exception e)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.HttpContext.InvokeCancellableCallback(WaitCallback callback, Object state)
   at System.Web.UI.Page.LegacyAsyncPageBeginProcessRequest(HttpContext context, AsyncCallback callback, Object extraData)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc

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

如何从操作系统将数组传递到PowerShell脚本

由于缺少参数,以下命令行会导致我的脚本抛出.仅当-WebServerList参数包含用于表示数组的括号时才会出现此问题.

这是由TeamCity发起的,我假设它正在制作一个简单的Windows shell命令,因此它可能()由shell/Windows解释.

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NonInteractive -ExecutionPolicy ByPass -File E:\PowerShell\DeploySolution.ps1`
    -ProjectName Integro -BuildVersion "8.0.5 (build 27692) " -DeploymentType IIS`
    -WebServerList @("ws1", "ws2") -WebServerUserName TeamCityMSDeploy`
    -WebServerPassword yeahR1ght -WebPackagePath E:\WebDeployPackages\IntegroWebAPI_QA_MSDeploy_Package.zip`
    -WebServerDestination Integro-QA`
    -MSDeployPath "C:\Program Files\IIS\Microsoft Web Deploy V3"
Run Code Online (Sandbox Code Playgroud)

但是,我尝试过DOS逃避^( ... ^),但这没有用.从Windows调用PowerShell脚本一直都很辛苦,毕竟谁想做一个疯狂的事情呢?!

与此同时,我将更改我的脚本以在单个字符串中访问CSV并手动拆分,这样我就可以回家了,但是知道是否有正确的方法可以解决这个问题.

powershell teamcity

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

使用异步操作获取404(Task <ActionResult>)

很简单,我已经将一些同步登录操作转换为异步,现在找不到它们,获得404.

    public async Task<ActionResult> BetaLoginAsync()
    {            
        return View();
    }

    [HttpPost]
    public async Task<ActionResult> BetaLoginAsync(Models.Authentication.SimpleLoginModel loginModel, string returnUrl)
    {
        if (this.ModelState.IsValid)
        {
            if (await this.ValidateCredentialsAsync(loginModel))
            {
    ...
Run Code Online (Sandbox Code Playgroud)

我以为我已经完成了所有需要,我遵循了这个:

http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4

编译器警告我,只返回视图的第一个操作方法不使用await关键字,因此它将同步运行.

问题是,当我删除async关键字时,它根本就不会编译.编译器说ViewResult从调用返回的类型View不能隐式转换为类型Task<ActionResult>.

现在,如果我使它同步但让我HttpPost的回发后登录验证方法异步,那么当我点击提交按钮时MVC路由不会调用它,而是发布到只返回视图的同步版本!

之前我曾经使用异步操作,我不知道为什么我今天都在挣扎.

当有两个具有相同名称/重载的操作方法时,这是一个错误吗?

有谁知道发生了什么?

更新1

好的,所以这很奇怪.

当控制器子类化AsyncController时,它可以工作,但这不应该是它在MVC 4+中的工作方式.

我应该在ASP.NET MVC 4上使用AsyncController吗?

我正在运行MVC 5,或者应该是.我还没有创建一个MVC 3项目.......

我需要做更多的调查并回来.

更新2

我有一个答案,但没有真正理解为什么.我试着克里斯建议Async从动作中删除后缀并且它有效.

奇怪的是,如上所述,它在使用AsyncControllerMVC 3中的"旧"时起作用.

我猜这就是现在的样子.

c# asp.net-mvc asynchronous asp.net-mvc-4

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

NuGet-给定类型名称或DLL,如何找到NuGet包?

我发现有关实现OWIN集成或IAuthenticationFilterWeb API 2之类的东西的博客文章,但是我永远无法确定我需要的NuGet软件包。

我似乎在随机搜索Google的内容,并浏览GitHub项目,其他博客也希望有一些线索。

考虑到一切进展顺利,是否有更好的方法?包装>装配>类型的大量索引?

asp.net visual-studio nuget

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

C# - 访问时内部静态只读为空

我有以下代码:

internal class FakeInvitationsRepository : InvitationsRepository
{
    internal readonly static Dictionary<Guid, InvitationDbEntity> Data = new Dictionary<Guid, InvitationDbEntity>()
    {
        { ...
Run Code Online (Sandbox Code Playgroud)

这是一个屏幕截图,它的价值:

真实代码截图

这只是一些内存中的假数据,总共 3 项。该类位于 ASP.NET WebAPI 项目中,暂时不在测试 DLL 中,而是在 WebAPI DLL 中。

一个 API 调用进来并在控制器操作中遇到一个断点,它试图直接使用这些假数据,还没有 IoC 或任何聪明的东西。

但该字段Data为空。它在运行时导致空引用异常。

屏幕显示显示为空

C# 语言规范说:

如果类中存在静态构造函数(第 10.11 节),则在执行该静态构造函数之前立即执行静态字段初始值设定项。否则,在第一次使用该类的静态字段之前的依赖于实现的时间执行静态字段初始值设定项。

这里发生了什么使得该字段在第一次使用之前没有初始化?

注意:一位同事很快检查了理智,也很困惑。Data只设置过,永远不会被我的代码清零(毕竟它是只读的)。

编辑

这是我的代码的调用堆栈:

System.Diagnostics.StackTrace t = new System.Diagnostics.StackTrace();
{   at Company.Product.WebAPI.Controllers.RenamedController.<GetInvitations>d__14.MoveNext()
   at Company.Product.WebAPI.Controllers.RenamedController.GetInvitations(Guid id)
   at lambda_method(Closure , Object , Object[] )
   at Company.WebAPI.Product.Areas.RouteDebugger.InspectActionInvoker.InvokeActionAsync(HttpActionContext actionContext, CancellationToken cancellationToken)
   at Company.WebAPI.Product.Areas.RouteDebugger.InspectHandler.<>n__FabricatedMethod12(HttpRequestMessage , CancellationToken )
   at …
Run Code Online (Sandbox Code Playgroud)

c#

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

NuGet包作者如何避免版本地狱?

假设我想在nuget.org上发布NuGet包.

这取决于,例如,Newtonsoft.Json.所以我在这里设置了这个依赖项,.nuspec并包含一个N..Json版本号为1(为了args的缘故).

如果N..Json移动到2,并且使用我的包的人也移动到2,那么他们现在是在泡菜中因为我的包想要1并且他们使用2吗?

据推测,要首先添加我的软件包,他们必须要么已经安装了N..Json,要么已经安装了它,请使用我的软件包使用的确切版本.

我想规定一个确切的版本是坏的.所以我省略了版本,但是现在如果N..Json有突破性的变化,我的包可能在将来中断.

相反,我在我的位置添加了一个范围.nuspec,现在我已经在那里.

但是,我不是只对我的所有客户强制规定他们可以使用的最大版N..Json?

我现在需要不断关注我的软件包使用的软件包版本,并确保我在我的余生中进行测试吗?

在NuGet.org上是否有一些系统可以提醒我我的软件包已经落后或可能受到其他人工作中断路器的影响?

如果客户尝试将N..Json全局更新到最新版本会发生什么,很明显我的软件包是阻止程序吗?

什么是既定的最佳实践?

nuget

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

dotnet Restore 给出 401,“无法加载服务索引”

dotnet test在我第一次使用的新 netcore20 项目中,此恢复和构建以及失败的恢复部分。

我是第一次使用 Visual Studio Code。

"C:\Data\Git\PDQShockerRestAPI\src\PDQShockerRestAPIWebApp.UnitTests\PDQShockerRestAPIWebApp.UnitTests.csproj" (Restore target) (1) ->
       (Restore target) ->
         C:\Program Files\dotnet\sdk\2.0.0\NuGet.targets(102,5): error : Unable to load the service index for source https://contoso-pdq.pkgs.visualstudio.com/_packaging/ContosoPDQNetFramework/nuget/v3/index.json.\r [C:\Data\Git\PDQShockerRestAPI\src\PDQShockerRestAPIWebApp.UnitTests\PDQShockerRestAPIWebApp.UnitTests.csproj]
       C:\Program Files\dotnet\sdk\2.0.0\NuGet.targets(102,5): error :   Response status code does not indicate success: 401 (Unauthorized). [C:\Data\Git\PDQShockerRestAPI\src\PDQShockerRestAPIWebApp.UnitTests\PDQShockerRestAPIWebApp.UnitTests.csproj]
Run Code Online (Sandbox Code Playgroud)

我已将.nuget另一个解决方案中的文件夹复制/src/.nuget到此解决方案中,但它不起作用。

我的预感是 VS2017 可能是通过 IDE 自动进行身份验证的,而 VSCode 不是?

.net-core visual-studio-code

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

在 ASP.NET Core 2.2 中将局部视图渲染为 HTML 字符串

我正在尝试使用 AJAX 来调用我的控制器并返回一个带有模型作为字符串的局部视图,以便我可以将它注入到我的 HTML 中。我之前在 MVC5 中使用控制器接口完成了此操作,但我似乎无法找到有关如何为 Asp.Net Core 2.2 中的部分视图执行此操作的任何信息。我找到了如何将视图呈现为字符串的示例,但我无法修改它们以适用于局部视图。

控制器动作:

    public JsonResult GetUpsertPartialView(MessageBoard messageBoard)
    {
        Dictionary<string, string> result = new Dictionary<string, string>();
        string errorState = "0";
        string errorMessage = "";

        try
        {
            result["view"] = ""; // My call to render the Partial View would go here.
        }
        catch (Exception)
        {
            errorState = "1";
            errorMessage = "An error was encountered while constructing the View.";
        }
        result["errorState"] = errorState;
        result["errorMessage"] = errorMessage;
        return Json(result);
    }
Run Code Online (Sandbox Code Playgroud)

AJAX 调用:

   $.ajax({
      type: "GET", …
Run Code Online (Sandbox Code Playgroud)

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

5
推荐指数
3
解决办法
5895
查看次数

VSCode 找不到符号 - 没有匹配的工作区符号

当我在 CTRL+T (Command+T) 中搜索某些方法名称时,无法找到在编辑器中打开的方法。请参阅下面的屏幕截图下的评论。

显示搜索到的方法名称、错误和实际方法的部分屏幕截图

上面显示了我试图找到的方法以及通过工具找到它的失败。

部分屏幕截图显示“转到符号”功能看不到任何编辑器符号

在上面,当我使用“转到符号”时,我希望看到符号列表。

我正在使用 macOS Monterey 以及最近更新和安装的工具。编辑:我应该指出,这个代码库最近位于 .NET 6.0 上。

它坏了还是我误解了什么?

编辑:标记omnisharp,因为它可能与此有关。哦,CodeLens 参考计数器丢失了。

编辑:我得出的结论是 OmniSharp 尚未准备好支持 .NET 6,因为我现在可以在 OmniSharp 的“输出”窗格中看到它仅加载了我剩余的一个 .NET 5 项目并忽略了所有 .NET 6 项目。

omnisharp visual-studio-code

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