小编Tom*_*bes的帖子

如何在ASP.NET MVC中配置HTML Minification

我想为我的ASP> NET MVC5 Web应用程序配置HTML缩小.

我安装了Nuget

Install-Package WebMarkupMin.Mvc
Run Code Online (Sandbox Code Playgroud)

然后我添加Filter Attributte:

[MinifyHtmlAttribute]
public ActionResult Index()
{           
    return View();
}  
Run Code Online (Sandbox Code Playgroud)

但HTML缩小不起作用.

Nuget安装向web.config添加几行:

<sectionGroup name="webMarkupMin">
      <section name="core" type="WebMarkupMin.Core.Configuration.CoreConfiguration, WebMarkupMin.Core" />
      <section name="webExtensions" type="WebMarkupMin.Web.Configuration.WebExtensionsConfiguration, WebMarkupMin.Web" />
</sectionGroup>

<webMarkupMin xmlns="http://tempuri.org/WebMarkupMin.Configuration.xsd">
  <core>
    <css>
      <minifiers>
        <add name="NullCssMinifier" displayName="Null CSS Minifier" type="WebMarkupMin.Core.Minifiers.NullCssMinifier, WebMarkupMin.Core" />
        <add name="KristensenCssMinifier" displayName="Mads Kristensen's CSS minifier" type="WebMarkupMin.Core.Minifiers.KristensenCssMinifier, WebMarkupMin.Core" />
      </minifiers>
    </css>
    <js>
      <minifiers>
        <add name="NullJsMinifier" displayName="Null JS Minifier" type="WebMarkupMin.Core.Minifiers.NullJsMinifier, WebMarkupMin.Core" />
        <add name="CrockfordJsMinifier" displayName="Douglas Crockford's JS Minifier" type="WebMarkupMin.Core.Minifiers.CrockfordJsMinifier, WebMarkupMin.Core" />
      </minifiers>
    </js>
    <html whitespaceMinificationMode="Medium" removeHtmlComments="true" …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc web-config minify

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

如何防止Visual Studio提示将项目.NET 4升级到.NET 4.5

我在C#,C ++ / CLI中以.NET 4为目标的项目中有一个解决方案,并且在.NET4中有一些依赖性。当我在Visual Studio 2013中打开此解决方案时,它会提示您升级解决方案。我们的远程团队中的某些开发人员不阅读消息框,而只是按OK。项目升级后,这些依赖项不兼容,然后它们向我发送邮件,指出无法构建该解决方案。

upggradeVCplusplus

有什么方法可以关闭.NET Framework升级提示?

.net c# upgrade visual-studio-2013

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

.NET Core与标准.NET库性能

在Windows上编译到标准.NET库或.NET核心的相同代码的性能是否有任何差异?

我想如果生成相同的IL,速度会相同.那些内存要求呢?

.net dll .net-core

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

为什么mscorlib版本在.NET Framework 4.0中是4.6.x?

我运行针对.NET Framework 4.0的应用程序.然后我打开模块来检查使用了哪些库.我看到mscorlib版本是4.6.96.0.但在输出窗口中,我可以看到Framework 4.0已加载?我相信该应用程序使用.NET Framework 4.0.我不明白为什么mscorlib的版本是4.6.96.0.为什么会这样?什么意思"建立:NETFXREL2STAGE" - 请看截图.截图.

c# .net-4.0 mscorlib

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

在C++中使用short(int16)进行饱和

我正在优化瓶颈代码:

int sum = ........
sum = (sum >> _bitShift);

if (sum > 32000)
    sum = 32000; //if we get an overflow, saturate output
else if (sum < -32000)
    sum = -32000; //if we get an underflow, saturate output

short result = static_cast<short>(sum);
Run Code Online (Sandbox Code Playgroud)

我想将饱和条件写为一个"if condition",或者甚至更好,没有"if condition"来使这段代码更快.我不需要精确饱和值为32000,任何类似的值如32768都是可以接受的.

根据此页面,ARM中有一个饱和指令.在x86/x64中有类似的东西吗?

c++ micro-optimization compiler-optimization

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

C#内联开关格式字符串

我想格式化词组并根据项目数结尾。

string s = string.Format("There are {0} items, bla bla {1}",
 itemsCnt, 
 () => {switch(itemsCnt)
 {
    case 0:
      return "make some...";
    case 1:
    case 2:
      return "try more";
    default:
      return "enough";
 }}
);
Run Code Online (Sandbox Code Playgroud)

语法不正确,我相信匿名方法应该以某种方式在这里工作...

更新

我可以使用单独的格式化功能。我想在Razor中使用该函数,并且希望将格式化逻辑放在一个地方。而且我很好奇如何做到这一点:-)

c# inline anonymous-methods

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

.NET 4.0中的IProgress <T>

是否有一些较旧的.NET 4.0相当于IProgress的接口或类(仅可从.NET 4.5获得),可用于从任务向UI发送进度?

或者我应该为它编写自己的类/接口?

c# .net-4.0 progress-bar

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

兼容模式下x64窗口上的本机x32应用程序与x32窗口上的x32应用程序之间的差异

我有一个用C++编写的旧的原生win32应用程序,它可以在Windows x32上正常工作,但它在Windows x64上崩溃了.即使我选择兼容模式.我有一个源代码,但它不容易阅读,因为它是由一个不再在我们公司工作的人编写的,代码非常庞大且异步.不容易调试的任务.

我想知道我应该关注什么.与x32 windows相比,x32兼容模式下的x64窗口有什么不同?我知道注册表可以产生一些问题,但似乎不是这种情况.还有别的吗?

c++ 64-bit winapi native

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

如果驱动器存在,则净使用批量删除

我想要可以像这样连接网络驱动器的安装脚本:

net use v: /delete || EXIT /B 1
net use v: "\\vmware-hostservername\share Folder" 
Run Code Online (Sandbox Code Playgroud)

我需要涵盖两种情况。

  1. 重新启动 PC 后运行测试(无光盘 v:可用)
  2. 反复运行测试。Disc v: 已经存在,需要删除并重新映射。

我不能把它放到窗口启动中,因为在运行脚本之前有断开连接的超时和映射需要完成,所以它确保驱动器将可用(而不是断开连接)。

提供的脚本在重新启动 PC 后不起作用,因为 v: 不存在。它需要一些修改,如

if exists V: net use v: /delete || EXIT /B 1
Run Code Online (Sandbox Code Playgroud)

我对上述psedocode的批处理语法不太熟悉。

batch-file net-use

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

如何获得C#字符串的UTF-8代码点?

我在C#中有一个德语字符串

string s ="Menü";

我想获得UTF-8代码点:

预期结果:

\x4D\x65\x6E\xC3\xBC
Run Code Online (Sandbox Code Playgroud)

预期结果已通过在线UTF-8编码器/解码器Unicode代码转换器v8.1进行验证

我尝试了很多转换方法,但是我无法获得预期的结果.

更新:

有趣的是,问题不在源代码中,而是输入文件中的错误编码:-)这些答案对我帮助很大.

c# encoding utf-8

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

使用OWIN验证ASP.NET MVC应用程序而无需登录gmail等

我得到了ASP.NET MVC应用程序,它通过OWIN库通过Google帐户验证用户.

用户有时会在主机(客户)计算机,公共计算机上登录Web应用程序来管理Web应用程序中的某些数据.

有一个登录按钮,可将您重定向到Google登录页面,用户输入用户名和密码,然后重定向回此Web应用程序.到目前为止,这是好的,这就是OWIN通常的工作方式.

我担心用户忘记注销应用程序而有人会从Web应用程序捕获数据.这在任何网络应用程序中都存在风险,我必须接受它.但是,如果用户忘记退出,则会有额外的风险,即有人会捕获来自Gmail,Google文档和所有相关Google服务的所有电子邮件.

我希望修改Owin身份验证,以便在Owin将用户重定向到Google登录页面后,Google只会将授权传递给Web应用,而无需登录用户访问Gmail以及Web浏览器中的所有相关Google服务.

以下代码也会登录Gmail作为Web应用程序身份验证的副作用.我看到OWIN有很多配置选项.我相信它是可以实现的:

public partial class Startup
{
    private double _expirationTimeCookies = 30; // minutes - sliding expiration

    public static ApplicationUserManager ApplicationUserManagerCreate(IdentityFactoryOptions<ApplicationUserManager> options, IOwinContext context)
    {
        var userStore = new UserStore<ApplicationUser>(context.Get<ApplicationDbContext>());
        var tokenProvider = new DataProtectorTokenProvider<ApplicationUser>(options.DataProtectionProvider.Create("ASP.NET Identity"));

        ApplicationUserManager manager = new ApplicationUserManager(userStore);

        manager.EmailService = new EmailService();
        manager.SmsService = new SmsService();

        var dataProtectionProvider = options.DataProtectionProvider;
        if (dataProtectionProvider != null)
        {
            manager.UserTokenProvider = tokenProvider;
        }

        return ApplicationUserManager.Create(tokenProvider, manager);
    }

    public void ConfigureAuth(IAppBuilder app)
    {           
        app.CreatePerOwinContext(ApplicationDbContext.Create);
        app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManagerCreate);
        app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);

        app.UseCookieAuthentication(new …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc google-authentication owin

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