小编Coc*_*lla的帖子

使用Knockout和Web API的ASP.NET MVC:它有意义吗?

将KnockoutJS Viewmodels与ASP.NET MVC3或4结合使用是否有意义?因为它不是很干,不是吗?我必须为EF编写模型,为MVC视图编写Viewmodels,为Knockout编写Viewmodels ......我失去了很多魔法.例如,自动客户端验证.

如果坚持使用MVVM模式,那么使用MVC是否有意义?

asp.net-mvc knockout.js

18
推荐指数
2
解决办法
8834
查看次数

WindowsTokenRoleProvider的性能不佳

我正在使用WindowsTokenRoleProvider来确定ASP.NET Web应用程序中的Active Directory组成员身份.

我的问题是性能不好,特别是当用户在很多组中时.例如,我在253(!)组中,并且WindowsTokenRoleProvider花费大约150秒来确定我所在的组.

我知道我可以使用缓存,这样就不会对用户的后续请求进行此操作,但显然在第一次访问时需要花费很长时间.

我有什么选择?我可以强制WindowsTokenRoleProvider只考虑某些群体吗?(我只对5感兴趣).

asp.net performance active-directory roleprovider

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

由于文件正在使用,Web部署失败

我使用Microsoft的Web Deploy Remote Agent服务,允许我从Visual Studio中轻松地将代码发布到服务器.

我正在部署的网站使用log4net将消息记录到日志文件,每次我尝试部署新版本的代码时,我在Visual Studio中收到此错误,指出当前的log4net日志文件正在使用中:

在远程计算机上处​​理请求时发生错误.文件'Web.log'正在使用中.

该进程无法访问"C:\ inetpub\wwwroot\Logs\Web.log",因为它正由另一个进程使用.

我可以通过进入服务器并iisreset在发布之前进行解决来解决这个问题...但这有点打败了从Visual Studio中"轻松"发布的观点:)

有没有什么方法可以让发布任务自动发出iisreset,或者其他方式我可以解决这个问题?

asp.net-mvc web-deployment webdeploy log4net-appender

9
推荐指数
2
解决办法
4282
查看次数

服务器推送与客户端拉取代理服务器拓扑

我需要创建一个包含2个组件的系统:

  • 处理和存储数据的单个服务器.它还定期向代理发送更新

  • 安装在远程端点的多个代理程序.这些数据收集(通常但不总是)长时间运行的数据,这些数据需要到达服务器

我正在使用C#.NET,理想情况下我想使用符合标准的通信方法(即可以在理论上与Java一起使用的方法,因为我们将来也可能使用Java代理).有没有Web服务的替代品?我有什么选择?

我看到它的方式我有3个选项使用Web服务,并做了以下观察:

  • 客户拉
    • 代理不需要开放端口,因为它像客户端一样
    • 需要轮询服务器以获取更新
  • 服务器推送
    • 在代理程序中打开端口,因为它充当服务器
    • 服务器必须轮询代理以获取结果
  • 混合动力
    • Open port at the agent, as it acts like both a client and a server
    • No polling; server pushes out updates when required, client sends results when they are available

The 'hybrid' (where agents are both client and server seems the obvious choice - but this application will typically be installed in enterprise and government environments, and I'm concerned they may have an issue with opening a port …

.net c# architecture networking

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

使用异常进行流量控制

我最近被告知我滥用异常来控制应用程序中的流量,所以我这是我试图以某种方式澄清情况.

在我看来,一个方法应该在遇到情况时抛出异常,这种情况无法在内部处理或者可能由调用方更好地处理.


那么 - 是否存在任何特定的规则集,可用于在开发应用程序时回答以下问题:

  • 什么时候应该抛出一个异常,什么时候应该编写具有强大的nothrow保证的代码,这可能只是返回 bool表示成功或失败?

  • 我应该尝试最小化情况的数量,当方法抛出异常时,或者相反,它应该最大化以在处理这些情况时提供灵活性吗?

  • 我应该坚持在开发我的应用程序时使用的框架/运行时设置的异常抛出约定,还是应该包装所有这些调用,以便它们匹配我自己的异常抛出策略?

  • 我还建议使用错误代码进行错误处理,这似乎非常有效,但从语法的角度来看很丑陋(同样,当使用它们时,开发人员失去了为方法指定输出的能力).你怎么看待这件事?


实施例第三个问题(I用的I/O架构和遇到以下情况):

所描述的框架不使用异常来处理错误,但其他代码确实使用它们.我是否应该将所有可能的失败包裹起来'???'并在这种情况下抛出异常?或者我应该将方法的签名更改为bool PrepareTheResultingOutputPath仅指示操作是否成功?

public void PrepareTheResultingOutputFile(
    String templateFilePath, String outputFilePath)
{
    if (!File.Exists(templateFilePath))
        // ???

    if (!Directory.MakePath(outputFilePath))
        // ???

    if (File.Exists(outputFilePath))
        if (!File.Remove(outputFilePath))
            // ???

    if (!File.Copy(templateFilePath, outputFilePath)
        // ???
}
Run Code Online (Sandbox Code Playgroud)

另一个例子 - 即使.NET Framework不遵循一些严格的异常抛出策略.一些方法被记录为抛出10多种不同的异常类型,包括普通的异常类型NullArgumentException,但其中一些只是返回bool以指示操作的成功或失败.

谢谢!

language-agnostic exception-handling exception

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

访问 Azure DevOps 安全文件属性

我已将 PKCS#12 证书安全文件上传到我的 Azure DevOps 项目,并将密码添加为属性:

添加安全文件

问题是,虽然我可以使用下载安全文件任务访问证书文件,但我看不到任何访问文件属性的方法?

与此同时,我通过在变量组中添加密码作为安全变量来实现我想要的工作,但我仍然对如何访问安全文件属性感到好奇。

azure-devops azure-pipelines

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

使用jqGrid进行内联编辑时,在表格上方显示表单控件

我正在使用jqGrid并启用了内联编辑.问题是某些字段的内容很长,默认情况下该字段不够大,无法使用:

jqGrid textarea  - 现在怎么样

我想要做的是为textarea设置一个固定的宽度,并在它获得焦点时将其扩展为在表格上方可见.像这样的东西:

jqGrid textarea  - 我希望它看起来如何

我可以为textarea设置CSS editoptions:dataInit,但是如果我只是增加宽度,则textarea的右侧会在表格单元格的末尾被剪掉.我想我可以用一些聪明的CSS解决这个问题吗?

顺便说一下,我知道弹出式编辑器可能对此更有意义,但客户端坚持认为它仍然是内联编辑器.

javascript css jquery textarea jqgrid

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

AVX2 SIMD XOR在.NET中未产生性能改进

我正在使用System.Runtime.Intrinsics命名空间中的.NET Core 3.0对硬件内在函数的新支持。

我有一些代码可以在一个循环中执行4个XOR操作-下面是一个简化的示例(我没有在IDE中编写此代码,因此请忽略任何语法错误:

private static unsafe ulong WyHashCore(byte[] array)
{
    fixed (byte* pData = array)
    {
        byte* ptr = pData;

        // Consume 32-byte chunks
        for (int i = 0; i < array.Length; i += 32)
        {
            ulong a = Read64(ptr, i);
            ulong b = Read64(ptr, i + 8);
            ulong c = Read64(ptr, i + 16);
            ulong d = Read64(ptr, i + 24);

            // XOR them with some constants
            ulong xor1 = a ^ SOME_CONSTANT1;
            ulong xor2 = b ^ …
Run Code Online (Sandbox Code Playgroud)

c# simd intrinsics .net-core .net-core-3.0

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

在 .NET Core 3.1 中运行托管 C++/CLI 程序集时出现错误的图像格式

我非常兴奋地看到 .NET Core 3.1 和 Visual Studio 2019 的最新预览版增加了对托管 C++/CLI 项目的支持,因为这样的项目是在 .NET Framework 上保留特定项目的唯一想法。

因此,我安装了 Visual Studio Preview 16.4.0 Preview 4 以及“C++/CLI support for v142...”选项,正如预期的那样,我看到了新的 C++ CLR 模板并安装了 .NET Core 3.1 preview 2

我使用“CLR 类库(.NET Core)”模板创建了一个新项目,将文件复制到一个旧的托管 C++/CLI 项目中,稍作调整,并构建了程序集 - 太棒了!

但是,当我尝试在 .NET Core 3.1 中使用该程序集时,出现了以下致命异常:

Unhandled exception. System.BadImageFormatException: Could not load file or assembly 'MyAssembly, Version=2019.0.1.0, Culture=neutral, PublicKeyToken=null'. An attempt was made to load a program with an incorrect format.
File name: 'MyAssembly, Version=2019.0.1.0, Culture=neutral, PublicKeyToken=null'
   at TestApp.Program.Main(String[] …
Run Code Online (Sandbox Code Playgroud)

.net c++ managed-c++ .net-core .net-core-3.0

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

Build for .NET 4和.NET 4.5 - 引用的NuGet包怎么样?

我有一个构建项目的脚本,输出.NET 4.0程序集.

该项目包括NuGet的NLog.所以项目文件中的引用如下所示:

<Reference Include="NLog">
  <HintPath>..\packages\NLog.2.0.1.2\lib\NLog\net40\NLog.dll</HintPath>
</Reference>
Run Code Online (Sandbox Code Playgroud)

我的packages.config看起来像这样:

<packages>
  <package id="NLog" version="2.0.1.2" targetFramework="net40" />
</packages>
Run Code Online (Sandbox Code Playgroud)

这个项目将在NuGet上发布,现在我想更新构建脚本,因此它也构建了.NET 4.5程序集.

现在,我知道我可以传递/p:TargetFrameworkVersion="4.5"msbuild它并将其作为.NET 4.5的目标 - 但这仍然会构建.NET 4.0 NLog程序集.

如何使用正确版本的NuGet依赖项为目标框架构建它?

msbuild nuget

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