在我目前的项目中,我正在使用SQL CE.由于它不支持存储过程,我必须在存储库中编写sql查询.
选项1:
StringBuilder query = new StringBuilder();
query.Append("SELECT");
query.Append(" c.CUSTOMER_ID,");
query.Append(" COALESCE (c.FIRST_NAME, '') + ' ' + COALESCE (c.LAST_NAME, '') AS FULL_NAME");
query.Append(" ct.NAME as CUSTOMER_TYPE");
query.Append("FROM ");
query.Append(" CT_CUSTOMER_TYPE AS ct INNER JOIN CUSTOMER AS c ON ct.CUSTOMER_TYPE_ID = c.CUSTOMER_TYPE_ID");
Run Code Online (Sandbox Code Playgroud)
选项2:
string query = "SELECT c.CUSTOMER_ID, COALESCE (c.FIRST_NAME, '') + ' ' + COALESCE (c.LAST_NAME, '') AS FULL_NAME, ct.NAME as CUSTOMER_TYPE FROM CT_CUSTOMER_TYPE AS ct INNER JOIN CUSTOMER AS c ON ct.CUSTOMER_TYPE_ID = c.CUSTOMER_TYPE_ID";
Run Code Online (Sandbox Code Playgroud)
选项1似乎更具可读性,特别是当我有10个以上的表连接时,但选项2更快.
我应该接受哪个选项,在这种情况下最佳做法是什么?
我想基于现有路线生成新的URL,但会添加一个新参数'page'
以下是一些示例:
old:〜/ localhost/something?what = 2
new:〜/ localhost/something?what = 2&page = 5
老:〜/ localhost /鞋子
新:〜/ localhost/Shoes/5
我不能只将&page = 5附加到现有网址,因为路由可能不同.
有些使用查询字符串,有些则不使用.
我正在使用DotNetOpenAuth登录Facebook.
这是代码:
var facebookClient = new FacebookClient
{
ClientIdentifier = "appId",
ClientSecret = "appSecret"
};
IAuthorizationState authorization = facebookClient.ProcessUserAuthorization();
if (authorization == null)
{
// Kick off authorization request
facebookClient.RequestUserAuthorization();
}
else
{
var request =
WebRequest.Create("https://graph.facebook.com/me?access_token=" +
Uri.EscapeDataString(authorization.AccessToken));
using (var response = request.GetResponse())
{
using (var responseStream = response.GetResponseStream())
{
var graph = FacebookGraph.Deserialize(responseStream);
lblFacebookUserName.Text = HttpUtility.HtmlEncode(graph.Name);
}
}
}
Run Code Online (Sandbox Code Playgroud)
因为我正在使用自定义URL重写器,所以我在登录后收到错误,因为返回URL是类似的
〜/富/ foo.aspx?labg = EN
我希望它能够硬编码
〜/富/富
任何帮助,将不胜感激
我们正在考虑从Solr/Solr.net切换到Elasticsearch.我们从NEST开始.我们在搜索索引中只有4个文档.
private static void Main(string[] args)
{
var node = new Uri("http://localhost:9200");
var settings = new ConnectionSettings(
node, "my-application");
var client = new ElasticClient(settings);
var stopwatch = Stopwatch.StartNew();
var sr = client.Get<Movie>(1);
Console.WriteLine(stopwatch.ElapsedMilliseconds);
}
Run Code Online (Sandbox Code Playgroud)
上面的代码大约需要.250ms,而相同的代码HttpClient和JsonSerializer30-45ms.只有4个文件,250毫秒是太多的时间.
NEST可以在高流量新闻网站上使用,还是推荐HttpClient+ JsonSerializercombo?搜索页面是2013年我们网站上访问量最大的页面.
提前致谢.
我定义了3个类:
public class PublishedPage
{
public string Action { get; private set; }
public string PageGuid { get; set; }
public List<string> SearchableProperties { get; set; }
public PublishedPage()
{
Action = "Published";
SearchableProperties = new List<string>();
}
}
public class DeletedPage
{
public string Action { get; private set; }
public string PageGuid { get; set; }
public DeletedPage()
{
Action = "Deleted";
}
}
public class MovedPage
{
public string Action { get; private set; }
public string …Run Code Online (Sandbox Code Playgroud) 我想为网格视图中的标题行设置colspan,使其与下图中的相同:

Html代码是:
<html>
<body>
<table border="1">
<tr>
<th colspan=2>Header</th>
</tr>
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我不知道如何在asp.net中创建相同的效果,我不想使用for循环手动创建表.
谢谢!
我已经定义了以下路线:
routes.MapRoute(
null,
"foo/{id}/{title}",
new { controller = "Boo", action = "Details" }
);
Run Code Online (Sandbox Code Playgroud)
当我调用这个方法时:
Url.Action("Details", "Boo", new { id = article.Id, title = article.Title })
Run Code Online (Sandbox Code Playgroud)
我得到以下网址:
http://localhost:57553/foo/1/Some%20text%20Š
我想创建一个新的路由,它将小写所有字符并替换其中一些字符.
例如
http://localhost:57553/foo/1/some-text-s
规则:
Uppercase -> lowercase
' ' -> '-'
'Š' -> 's'
etc.
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!
我想从表中删除满足某些条件的最后一行.
DELETE TOP 1 FROM SOME_TABLE
WHERE SOME_COULMN = @VALUE
ORDER BY 1 DESC
Run Code Online (Sandbox Code Playgroud) 如何将javascript放在if块内?
@if(TempData["notification-message"] != null) {
$('#notification').jnotifyAddMessage({
text: '@TempData["notification-message"]',
permanent: false
});
}
Run Code Online (Sandbox Code Playgroud)
我到了bad compile constant value.
我正在为一个B2B应用程序构建一个简单的CMS.用户可以上传/浏览图像,但这些图像存储在IIS外部(我的应用程序位于驱动器C上,图像存储在驱动器D上).
我的计划是为页面文件创建自定义路由,然后使用简单加载图像 FileController
FileController:
public FilePathResult PageFiles(string fileName)
{
var dir = Server.MapPath("/some_protected_area/gallery");
var path = Path.Combine(dir, fileName);
return File(path, "image/jpg");
}
Run Code Online (Sandbox Code Playgroud)
自定义路线:
routes.MapRoute(
null,
"Files/PageFiles/{fileName}",
new { controller = "File", action = "PageFiles", fileName = UrlParameter.Optional },
new[] { "DemoApp.Web.Controllers" }
);
Run Code Online (Sandbox Code Playgroud)
当我访问时,http://localhost:58891/Files/PageFiles/image-1.jpg我得到404.
详细错误信息:
Modeule: IIS Web Core
Notification: MapRequestHandler
Handler: StaticFile
Error code: 0x80070002
Run Code Online (Sandbox Code Playgroud)
当我访问:http://localhost:58891/Files/PageFiles?fileName=image-1.jpg一切正常,但我不想发送fileName查询字符串,并且fileName 必须包含扩展名(.jpg,.pdf等)
我能以某种方式禁用StaticFile自定义路由的处理程序吗
任何帮助将不胜感激!
我正在用c#编写桌面应用程序,我需要一些免费的报告系统.
有什么建议?
编辑:
我使用SQLite作为DB.
我正在编写asp.net mvc Web应用程序,该应用程序使用大量的.jpg文件,这些文件位于Web服务器外部的共享文件夹中,无法通过http协议访问.
如何在img标签内放置图像路径?
用户可以拥有以下访问权限:
Read = 1
Create = 2
Edit = 4
Delete = 8
Publish = 16
Administer = 32
Run Code Online (Sandbox Code Playgroud)
当访问权限保存在数据库中时,只使用一个数字来表示该用户的所有访问权限.
例如
3 = Read + Create
25 = Read + Delete + Publish
Run Code Online (Sandbox Code Playgroud)
如何获取给定号码(访问掩码)的所有访问权限?
任何帮助将不胜感激!