我正在尝试编写一组过滤器来突出显示然后取消强制动态生成的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字符串.任何帮助将不胜感激!
我一直试图让我的刷新令牌工作一段时间,我希望我很接近.我的令牌刷新并触发后续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) 我有一个包含两个网站的网络服务器: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身份验证,但由于某种原因我发现自己使用\\,它是在域名上加两次还是什么?在身份验证方面究竟是什么?
合理?
我目前正在使用以下代码重新抛出从我的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射击吗?不理想,它会在单个页面上引起多次刷新调用,但由于调用未被重新抛出而导致数据缺失.
截图:
当我刷新网站上的标签时,我遇到了路径问题:
我从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) 我有一个问题,我正在向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数据类的名称.
我正在为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) 如何使用 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 比较陌生,希望它是地图运营商之一?
angularjs ×4
c# ×2
iis ×2
angular ×1
asp.net ×1
dns ×1
hbm ×1
javascript ×1
jquery ×1
jwt ×1
nhibernate ×1
nlog ×1
nservicebus ×1
oauth-2.0 ×1
rxjs ×1