我想在我的网站中禁用x-frame-options,我希望没有其他网站可以使用iframe在他们的网页中显示我的网页.我的网站是在ASP.net MVC3中制作的,并在IIS 7.5中托管.
我想用Gzip压缩我的Web应用程序,我正在使用以下类
压缩过滤器
public class CompressFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
HttpRequestBase request = filterContext.HttpContext.Request;
string acceptEncoding = request.Headers["Accept-Encoding"];
if (string.IsNullOrEmpty(acceptEncoding)) return;
acceptEncoding = acceptEncoding.ToUpperInvariant();
HttpResponseBase response = filterContext.HttpContext.Response;
if (acceptEncoding.Contains("GZIP"))
{
response.AppendHeader("Content-encoding", "gzip");
response.Filter = new GZipStream(response.Filter, CompressionMode.Compress);
}
else if (acceptEncoding.Contains("DEFLATE"))
{
response.AppendHeader("Content-encoding", "deflate");
response.Filter = new DeflateStream(response.Filter, CompressionMode.Compress);
}
}
}
Run Code Online (Sandbox Code Playgroud)
缓存过滤器
public class CacheFilterAttribute : ActionFilterAttribute
{
public int Duration
{
get;
set;
}
public CacheFilterAttribute()
{
Duration = 1;
}
public override …Run Code Online (Sandbox Code Playgroud) 我是SignalR的新手,在学习过程中,我正在尝试制作股票代码.我有超过1000个股票列表,并希望显示实时更改的分页和更新,这就是我使用SignalR组的原因.问题是,当我打开第1页时,一切正常,直到我打开第2页,然后第1页停止获取信号,第2页开始获取信号.我在SignalR小组中错过了什么?请帮帮我,谢谢.
毂
[HubName("stockTicker")]
public class StockTickerHub : Hub
{
private StockTicker _stockTicker;
public StockTickerHub()
: this(StockTicker.Instance)
{
}
public StockTickerHub(StockTicker stockTicker)
{
_stockTicker = stockTicker;
}
public void OpenMarket()
{
var page = this.Context.QueryString["page_no"];
int pageno = Convert.ToInt32(page);
_stockTicker.OpenMarket(pageno);
tryAddGroup(page);
}
public Task tryAddGroup(string page)
{
return Groups.Add(Context.ConnectionId, page);
}
}
Run Code Online (Sandbox Code Playgroud)
StockTicker.cs
public class StockTicker
{
MainModel _model = new MainModel();
private static Lazy<StockTicker> _instance = new Lazy<StockTicker>(() => new StockTicker(GlobalHost.ConnectionManager.GetHubContext<StockTickerHub>().Clients));
private TimeSpan _updateInterval = TimeSpan.FromMilliseconds(3000);
private Timer _timer;
public …Run Code Online (Sandbox Code Playgroud) 我试图用一个快速的方法从一个大表(超过100万行)中获取5个随机行数.
到目前为止,我已经使用这些SQL查询进行了测试:
方法1
Select top 5 customer_id, customer_name
from Customer TABLESAMPLE(1000 rows)
order by newid()
Run Code Online (Sandbox Code Playgroud)
这种方法估计I/O成本是0.0127546如此之快(索引扫描非聚集)
方法2
select top 5 customer_id, customer_name
from Customer
order by newid()
Run Code Online (Sandbox Code Playgroud)
此方法的排序估计I/O成本是117.21189和索引扫描非聚集估计的I/O成本2.8735,因此这会影响性能
方法3
select top 5 customer_id, customer_name
from Customer
order by rand(checksum(*))
Run Code Online (Sandbox Code Playgroud)
这种方法的排序估计I/O成本是117.212和索引扫描非聚集估计的I/O成本213.149,这个查询比所有都慢,因为估计的子树成本是213.228非常慢的.
更新:
方法4
select top 5 customer_id, customer_name, product_id
from Customer
Join Product on product_id = product_id
where (customer_active = 'TRUE')
order by checksum(newid())
Run Code Online (Sandbox Code Playgroud)
这种方法更好,速度更快.所有基准测试都没问题.
题
如何将方法4转换为LINQ-to-SQL?谢谢
请查看此Bootply或下面的Code Snippet,我使用 Bootstrap 3.1 是因为我想在我的网站上使用这个很棒的搜索框。但是我遇到了一个问题,导航栏徽标不起作用(它甚至没有悬停,因此无法点击)。

注意:品牌标志在移动版本中工作正常,只有桌面版本有问题。因此,如果您正在运行以下代码片段,请单击全屏查看问题。
我不是一个 css 人,所以你们能帮我解决这个问题吗?谢谢
$(function () {
// Remove Search if user Resets Form or hits Escape!
$('body, .navbar-collapse form[role="search"] button[type="reset"]').on('click keyup', function(event) {
console.log(event.currentTarget);
if (event.which == 27 && $('.navbar-collapse form[role="search"]').hasClass('active') ||
$(event.currentTarget).attr('type') == 'reset') {
closeSearch();
}
});
function closeSearch() {
var $form = $('.navbar-collapse form[role="search"].active')
$form.find('input').val('');
$form.removeClass('active');
}
// Show Search if form is not active // event.preventDefault() is important, this prevents the form from submitting
$(document).on('click', '.navbar-collapse …Run Code Online (Sandbox Code Playgroud)我正在尝试使用jquery ui和twitter bootstarp进行自动完成搜索.我在导航栏中添加了一个简单的搜索框,一切似乎都运行正常.请看下面的代码片段,或者你也可以在这个JSFiddle上看到相同的代码,只需输入'a',它就会自动在下拉列表中显示结果.
问题在于平板电脑和移动版本的bootstrap导航栏,例如默认情况下显示平板电脑版本的代码片段,因此bootstarp导航栏会调整其高度,但是当我在平板电脑或移动版本上搜索时,自动完成结果会保留在固定位置的导航栏后面.我试图用z-index和改变修复这个问题.ui-autocomplete {position:relative;},但没有什么对我有用.下面是这个问题的图像.

请看下面的代码片段,谢谢
$(function () {
// Remove Search if user Resets Form or hits Escape!
$('body, .navbar-collapse form[role="search"] button[type="reset"]').on('click keyup', function(event) {
console.log(event.currentTarget);
if (event.which == 27 && $('.navbar-collapse form[role="search"]').hasClass('active') ||
$(event.currentTarget).attr('type') == 'reset') {
closeSearch();
}
});
function closeSearch() {
var $form = $('.navbar-collapse form[role="search"].active')
$form.find('input').val('');
$form.removeClass('active');
}
// Show Search if form is not active // event.preventDefault() is important, this prevents the form from submitting
$(document).on('click', '.navbar-collapse form[role="search"]:not(.active) …Run Code Online (Sandbox Code Playgroud)jquery-ui jquery-ui-autocomplete twitter-bootstrap twitter-bootstrap-3
我在MVC3 Razor视图中使用了太多的IF条件 - 如果要比较两个或更多值,则差不多230条.问题是它在服务器上使用了太多的内存和处理器.这就是为什么服务器响应时间非常缓慢超过6秒的平均值.
我该怎么办?我应该减少使用If条件还是有其他选择?
(我也可以在这里发布我的代码)
使用代码更新:
控制器:
public ActionResult Index(string query)
{
name1 = query.Substring(0, query.IndexOf("-vs-"));
name2 = query.Substring(query.IndexOf("-vs-") + 1, query.Length - query.IndexOf("-vs-") - 1);
name2 = name2.Replace("vs-", "");
var model = _comp.GetViewModel(name1 , name2 );
Run Code Online (Sandbox Code Playgroud)
}
模式:
public CpusViewModel GetViewModel(int? id1, int? id2)
{
if (id1 == null) return null;
if (id2 == null) return null;
var cpu1 = _comp.Get(p => p.cpuId == id1);
if (cpu1 == null) return null;
var cpu2 = _comp.Get(p => p.cpuId == …Run Code Online (Sandbox Code Playgroud) asp.net-mvc ×3
asp.net ×2
compression ×1
css ×1
guid ×1
gzip ×1
gzipstream ×1
html ×1
if-statement ×1
iframe ×1
iis ×1
jquery ×1
jquery-ui ×1
linq ×1
random ×1
razor ×1
signalr ×1
signalr-hub ×1
sql-server ×1
web-config ×1