假如我要获得共享,虚拟或专用托管,我在某处读取服务器/机器一次只能处理64,000个TCP连接,这是真的吗?无论带宽如何,任何类型的托管处理有多少?我假设HTTP通过TCP工作.
这意味着只有64,000个用户可以连接到该网站,如果我想提供更多服务,我必须转移到网络农场吗?
所以我正在使用SQL全文搜索,从我读到的内容,CONTAINS返回单词附近的匹配,而FREETEXT返回具有相似含义的单词,但是我找不到任何验证这一点的示例.
无论如何,到目前为止,我在一个表格上使用全文搜索,其中描述字段的最大长度为2500个字符,并希望在此使用FTS.这个描述将包含食物成分,最好使用的东西,CONTAINS或FREETEXT?我希望我的用户搜索的内容是:
"蛋糕糖配方"
它应该返回排名靠前的结果,最好的是什么,FREETEXT或CONTAINs?
有没有办法直接从实体框架生成的调用运行sql语句?或者我是否必须创建一个过程然后通过实体框架调用它?
我创建了一个包含一些文本的图像,对于每个客户,图像都包含它们的名称,我使用Graphics.DrawString函数动态创建它,但是我不需要多次创建这个图像,只是因为客户名称几乎不会改变,但我不想将其存储在磁盘上.
现在我在处理程序中创建图像,即:
<asp:Image ID="Image1" runat="server" ImageUrl="~/imagehandler.ashx?contactid=1" />
Run Code Online (Sandbox Code Playgroud)
缓存图像的最佳方法是什么?我应该缓存它创建的位图吗?或者缓存我传回的流?我应该使用哪个缓存对象,我收集有很多不同的方法?但输出缓存对http处理程序不起作用吗?推荐的方式是什么?(我不喜欢在客户端缓存,我在服务器方面)谢谢!
我即将在我的网站上创建一个简单的搜索工具,用户将输入大约2-4个关键字,这些关键字将在我的MS SQL数据库的表中的两列中搜索.一列是名为title的varchar(50),一列是名为description的varchar(2500).任何时候都有大约20,000-30,000条记录可供搜索.
关键字需要返回"最佳匹配" - 您知道在ebay等搜索页面上返回最接近匹配的类型.我想这样做的方式似乎有点幼稚 - 我以为我可以读取表中的所有30,000条记录并像这样对象:
public class SearchableObject
{
string Title {get; set;}
string Description {get; set;}
int MatchedWords {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
然后创建一个该对象的List,例如List遍历所有30,000条记录,填充List,找出匹配最多次的那些并返回前10个使用像
if Description.contains(keyword1);
Run Code Online (Sandbox Code Playgroud)
但是然后找出填充MatchedWords字段的字符串中出现的次数.
在SQL Server 2008中,当设置全文搜索时,它为我提供了一个选项,可以选择一个时间/日来重新填充索引,我可以从代码而不是像C#代码那样做吗?如果是这样我怎么办?我是否需要从C#执行SQL代码来刷新索引?
另外,如果我不重新填充索引并添加一些新记录,通过使用FTS查询,新记录是否还会出现?但慢一点?或者除非重新索引,否则他们会不会出现?
我有以下代码:
var entityConnection = (System.Data.EntityClient.EntityConnection)c.Connection;
DbConnection conn = entityConnection.StoreConnection;
ConnectionState initialState = conn.State;
List<Jobs> list = new List<Jobs>();
int id = 0;
try
{
if (initialState != ConnectionState.Open)
conn.Open();
using (DbCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
reader = cmd.ExecuteReader();
int count = 0;
while (reader.Read())
{
id = int.Parse(reader[0].ToString());
list.Add(db.Jobs.Where(x => x.JobId == id).First());
//count++;
//if (count == 150) break;
reader.NextResult();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误说:"system.invalidoperationexception:读取器关闭时调用NextResult的无效尝试"
但事情是我没有关闭读者,但是当我删除这一行:
list.Add(db.Jobs.Where(x => x.JobId == id).First());
Run Code Online (Sandbox Code Playgroud)
一切正常!但这对我来说是无用的,因为我需要从阅读器填充一个列表对象,如果我不能这样做 - 那么我就无法阅读该表了!(ps我正在避免使用sqldatareader并使用dbdatareader,因为它与我联系使用实体框架进行上述调用)
c# ×2
sql-server ×2
ado.net ×1
asp.net ×1
caching ×1
hosting ×1
http ×1
httphandler ×1
sql ×1
tcp ×1
tcplistener ×1