小编Ran*_*s1r的帖子

Angular highlight&dehighlight使用过滤器动态html

我正在尝试编写一组过滤器来突出显示然后取消强制动态生成的html:

突出显示过滤器:

app.filter('highlight', function ($sce) {
    return function (str, termsToHighlight) {
        // Sort terms by length
        termsToHighlight.sort(function (a, b) {
            return b.length - a.length;
        });
        var regex = new RegExp('(' + termsToHighlight.join('|') + ')', 'g');
        return $sce.trustAsHtml(str.toString().replace(regex, '<span class="highlightedSpan" style="background-color: yellow; ' +
            'font-weight: bold;">$&</span>'));
    };
});
Run Code Online (Sandbox Code Playgroud)

Dehighlight:

app.filter('dehighlight', function ($sce) {
    return function (str) {

        var obj = $($.parseHTML(str));

        obj = obj.find('.highlightedSpan').replaceWith(function () { return this.innerHTML; });

        return $sce.trustAsHtml(obj.html());
    };
});
Run Code Online (Sandbox Code Playgroud)

我试图剥离span标签并保留原始文本,但我不确定它是否正常工作或返回什么.Str是html字符串.任何帮助将不胜感激!

javascript jquery angularjs

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

刷新令牌刷新jwt后如何刷新数据

我一直试图让我的刷新令牌工作一段时间,我希望我很接近.我的令牌刷新并触发后续200调用导致401的任何调用,但我的页面上的数据不刷新.

访问令牌到期时,会发生以下情况:

在此输入图像描述

在401之后,GetListofCompanyNames使用正确更新的访问令牌返回200,其中包含名称列表.但是,我的下拉列表不会刷新.

我的拦截器:

  app.factory('authInterceptorService',['$q', '$location', 'localStorageService', '$injector', function($q, $location, localStorageService, $injector) {
        return {
            request: function(config) {

                config.headers = config.headers || {};

                var authData = localStorageService.get('authorizationData');
                if (authData) {
                    config.headers.Authorization = 'Bearer ' + authData.token;
                }
                return config;
            },
            responseError: function(rejection) {
                //var promise = $q.reject(rejection);
                var authService = $injector.get('authService');
                if (rejection.status === 401) {

                    // refresh the token
                    authService.refreshToken().then(function() {
                        // retry the request
                        var $http = $injector.get('$http');
                        return $http(rejection.config);
                    });
                }
                if (rejection.status === 400) {
                    authService.logOut(); …
Run Code Online (Sandbox Code Playgroud)

asp.net oauth-2.0 jwt angularjs refresh-token

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

IIS Windows身份验证怪异

我有一个包含两个网站的网络服务器:a&b.
一个是生产.

b正在测试/分期.

在我之前编写这些应用程序的人依赖于此

Request.ServerVariables("LOGON_USER") 
Run Code Online (Sandbox Code Playgroud)

当用户通过Windows身份验证对服务器进行身份验证时分配.在a,这很有效,在b上有一些奇怪之处:

我得到了我的登录提示,但我无法使用[domain]\myusername登录,我可以使用\\ myusername,相同的密码(基于AD).据我所知,IIS配置完全相同,唯一不一致的是从a.domain.com指向b.domain.com的DNS CNAME.将DNS记录更改为指向IP修复了问题,但我正在尝试了解发生了什么.

以前的DNS记录: b.domain.com > a.domain.com

工作DNS记录: b.domain.com > 10.0.x.131

它应该是b> a>常规Windows身份验证,但由于某种原因我发现自己使用\\,它是在域名上加两次还是什么?在身份验证方面究竟是什么?

合理?

iis dns windows-authentication

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

如何在Angular responseError拦截器中处理多个响应

我目前正在使用以下代码重新抛出从我的API返回401的请求:

responseError: function(rejection) {
                var authData = localStorageService.get('authorizationData');
                if (rejection.status === 401 && authData) {
                    var authService = $injector.get('authService');
                    var $http = $injector.get('$http');
                    ?v?a?r? ?d?e?f?e?r?r?e?d? ?=? ?$?q?.?d?e?f?e?r?(?)?;? 

                    var promise = authService.refreshToken();

                    return  ?d?e?f?e?r?r?e?d?.? promise.then(function () {
                        return $http(rejection.config);
                    });
                }
                return $q.reject(rejection);
            }
Run Code Online (Sandbox Code Playgroud)

这对于1个请求非常有用,但是如果我从单个页面返回两个401,则它似乎不起作用,例如当页面加载两个api调用以填充不同的部分时.如何让我的拦截器重新抛出多个延期调用?

此外,拦截器不应该单独为每个401射击吗?不理想,它会在单个页面上引起多次刷新调用,但由于调用未被重新抛出而导致数据缺失.

截图:

在此输入图像描述

angularjs angular-http-interceptors refresh-token

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

Angular HTML5Mode - 重写规则

当我刷新网站上的标签时,我遇到了路径问题:

我从github复制了这个重写规则:

  <rule name="Main Rule" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="/" />
        </rule>
Run Code Online (Sandbox Code Playgroud)

这在https://www.mywebsite.com/dashboard等路径上非常有用.

但是,当我刷新像https://www.mywebsite.com/tab/settings这样的路径时,我的javascript加载正常,但我的css目录关闭了1.

我的脚本路径加载正确如下:

https://www.mywebsite.com/Scripts/angular.js

但是,我的CSS试图加载为:

https://www.mywebsite.com/tab/Content/bootstrap.min.css
Run Code Online (Sandbox Code Playgroud)

使用/ tab /导致我的问题.

我的路线:

.state('Template',
        {
            url: '',
            abstract: true,
            views: {
                'header': {
                    templateUrl: 'App/SharedViews/Landing/dashboardheader.html'
                }
            }
        })
        .state('Template.AdminTab',
        {
            url: '/admin',
            views: {
                'container@': {
                    templateUrl: 'App/Views/Admin.html'
                }
            }
        })
        .state('Template.Tab.Company',
        {
            url: '/company',
            views: {
                'container@': {
                    templateUrl: …
Run Code Online (Sandbox Code Playgroud)

iis url-rewriting angularjs angular-ui-router

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

修改nHibernate如何在nServiceBus中保存Saga数据

我有一个问题,我正在向nServiceBus发送一条消息数据字段为可变长度的消息.nServiceBus正在使用nHibernate来创建一个名为的表

[NServiceBus].[PendingMentorEmailSagaData] 
Run Code Online (Sandbox Code Playgroud)

来自一个名为PendingMentorEmailSagaData的类.然而,消息字段被设置为nvarchar(255),我正在寻找一种方法将它设置为nvarchar(MAX).

我尝试过使用嵌入式hbm文件,但是出现了" persistent class PendingMentorEmailSagaData not found"错误.

这可能意味着我无法弄清楚要设置文件的类.

hbm文件:

<?xml version="1.0" encoding="utf-8" ?>

    <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
      <class name="PendingMentorEmailSagaData">
        <id name="Id" />
        <property name="OriginalMessageId" />
        <property name="Originator" />
        <property name="PendingMentorEmailCommandId" />
        <property name="JobBoardCode" />
      </class>
    </hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)

PendingMentorEmailSagaData是saga数据类的名称.

c# nhibernate nservicebus hbm

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

如何阻止NLog进行双重日志记录

我正在为NLog编写WEB API调用,因此远程应用程序可以登录到我的日志记录表.

在我的控制器中我(现在硬编码为完整性检查):

NLogger.LogError("Some Error Message", "An exception", 5, "A computer name"); 
Run Code Online (Sandbox Code Playgroud)

然后我的静态LogError方法看起来像这样(我也尝试了LogEventInfo()):

public static void LogError(string msg, string ex, int appid, string machineName)
{
    LogEventInfo logEvent = new LogEventInfo(LogLevel.Error, "Api Logger", "Another test msg");
    logEvent.Properties["myMsg"] = msg;
    logEvent.Properties["myEx"] = ex;
    logEvent.Properties["myAppId"] = appid;
    logEvent.Properties["myMachineName"] = machineName;
    NLogManager.Instance.Log(logEvent);
}
Run Code Online (Sandbox Code Playgroud)

最后,这是我的代码首次配置该规则(其他2个具有不同的数据库目标):

private static void ConfigureApiLog()
{
    var dbApiErrorTarget = new DatabaseTarget
    {
        ConnectionString = ConnectionFactory.GetSqlConnection().ConnectionString,
        CommandText = "usp_LogError",
        CommandType = CommandType.StoredProcedure
    };

    dbApiErrorTarget.Parameters.Add(new DatabaseParameterInfo("@level",
        new global::NLog.Layouts.SimpleLayout("${level}")));
    dbApiErrorTarget.Parameters.Add(new DatabaseParameterInfo("@logger",
        new global::NLog.Layouts.SimpleLayout("${logger}")));
    dbApiErrorTarget.Parameters.Add(new …
Run Code Online (Sandbox Code Playgroud)

c# nlog

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

如何在 Angular 6 中重构双重订阅

如何使用 rxjs 在以下代码中只有 1 个 subscribe 语句:

  this.authStore.jwtContainer$.subscribe(x =>
      this.userService.getUserById(x.userLoginId).subscribe(z => this.user = z));
Run Code Online (Sandbox Code Playgroud)

我对 rxjs 比较陌生,希望它是地图运营商之一?

rxjs angular

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