小编Ant*_*lev的帖子

在一个Web应用程序中组合经典ASP.NET和ASP.NET MVC

我们目前有一个经典的ASP.NET Web应用程序作为我们的API.它基本上有一堆ASMX Web服务,但这些从JavaScript开始使用起来非常麻烦.我想要的是暴露一组RESTful端点,但在classis中执行此操作并不是我真正想做的事情.

我正在考虑将经典ASP.NET和ASP.NET MVC结合在一个Web应用程序中.这有可能吗?如果是,我可能遇到的问题是什么?

asp.net asp.net-mvc integration

9
推荐指数
1
解决办法
1475
查看次数

解析"off-side"(基于缩进的)语言

一个偏向的语言就是那个

......该语言的声明(块)范围由其缩进表示.

这类语言的例子有Python,Boo,Nemerle,YAML等等.

所以我的问题是:我如何实际解析这些?如何解决标签与空格问题(两个标签或8个空格是否等效)?解析器生成器在这里有任何帮助还是我必须自己手动编写词法分析器/解析器?

compiler-theory language-design indentation

9
推荐指数
3
解决办法
3707
查看次数

NHibernate QueryOver按第一个非空值排序(合并)

我想要提出的是这样的表达方式:

var result = Session.QueryOver<Foo>().OrderBy(f => f.UpdatedAt ?? f.CreatedAt);
Run Code Online (Sandbox Code Playgroud)

果然,这不起作用.在T-SQL中粗略相当于此

... order by coalesce(f.UpdatedAt, f.CreatedAt)
Run Code Online (Sandbox Code Playgroud)

在NHibernate QueryOver中进行"合并"的犹太方法是什么?

nhibernate coalesce queryover

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

哪里......在......或者哪里......在...中使用NHibernate IQueryOver

我正试图用NHibernate模拟主题查询IQueryOver.到目前为止我有

var q = CurrentSession.QueryOver<ObjectModel.Order>().
    WhereRestrictionOn(o => o.Buyer.ID).IsIn(partyIDs).
    WhereRestrictionOn(o => o.Seller.ID).IsIn(partyIDs);
Run Code Online (Sandbox Code Playgroud)

但是,这会生成一个and查询,而我需要or在两个where子句之间有一个运算符.

这是怎么做到的IQueryOver

nhibernate queryover

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

将Razor视图编译为单个程序集

.cshtml视图编译到单个程序集中的侵入性最小的方法是什么?通过"最少侵入性",我的意思是不需要使用自定义工具,在.cshtml文件和那种性质的东西中设置深奥的值?

我试过了RazorGenerator.Mvc/.MsBuild,但它不会编译.RazorSingleFileGenerator需要搞乱自定义工具,我想避免.

作为奖励点:这个神奇的工具(如果存在的话)可以无缝集成到MSBuild管道中吗?

msbuild asp.net-mvc razor

8
推荐指数
0
解决办法
1028
查看次数

用php上传后如何重命名文件名?

如何在上传文件之前或之后重命名文件?我只想重命名文件名,而不是扩展名.

$changeTXT = $_SESSION['username'];
$uploaderName = strtolower($changeTXT);
$changeTXT = strtolower($changeTXT);
$changeTXT = ucfirst($changeTXT);
$filelocation = $_POST['userfile'];
$filename = $_POST['filename'];
$max_size = $_POST['MAX_FILE_SIZE'];

$file = $_FILES['userfile'];

$allowedExtensions = array("wma", "mp3", "wav");

function isAllowedExtension($fileName) {
  global $allowedExtensions;

  return in_array(end(explode(".", $fileName)), $allowedExtensions);
}

if($file['error'] == UPLOAD_ERR_OK) {
  if(isAllowedExtension($file['name'])) {

$uploaddir = "uploads/".$uploaderName."/";

$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {

    echo "Thank you for uploading your music!<br /><br />";

} else {

    echo "Your file did not upload.<br /><br />";

}

    echo …
Run Code Online (Sandbox Code Playgroud)

php rename file

7
推荐指数
2
解决办法
4万
查看次数

用于构建特定SVN版本的Bamboo

想象一下,Bamboo中有一个项目有两个构建计划:分段部署(SD)和生产部署(PD).构建SD会检出最新的源,构建它们并将网站部署到登台服务器.目前,PD完全相同,即将最新版本的网站部署到生产服务器.显然,这不是很好:我希望能够部署先前部署在登台服务器上的网站的相同版本,而不是最新版本.

举例说明:假设我们r101在SVN回购中.单击" Build SD "会将网站版本部署2.1.0.101到登台服务器.现在我们进行了一次重大变革,最终结束了r102.现在我想部署到生产服务器.如果我点击" Build PD ",Bamboo将很乐意签出r102并构建它,从而将版本2.1.0.102部署到生产服务器.

但是,我希望它能够构建和部署之前在SD计划中构建的版本(即,2.1.0.101).

当然,我可以制定SD计划来标记最新成功的构建tags/builds/latest,但我宁愿让Bamboo自己处理它.

svn continuous-integration bamboo

7
推荐指数
2
解决办法
4248
查看次数

在SQL Server中生成订单号的正确方法

这个问题肯定适用于更广泛的范围,但现在就是这样.

我有一个基本的电子商务应用程序,用户可以自然地下订单.所述订单需要有一个唯一的编号,我现在正试图生成.

每个订单都是特定于供应商的.基本上,我有一张OrderNumberInfo (VendorID, OrderNumber)桌子.现在,无论何时客户下订单,我都需要OrderNumber为特定供应商增加并返回该值.当然,我不希望其他进程干扰我,所以我需要以某种方式独占锁定这一行:

begin tranaction

    declare @n int
    select @n = OrderNumber 
      from OrderNumberInfo 
      where VendorID = @vendorID

    update OrderNumberInfo 
      set OrderNumber = @n + 1 
      where OrderNumber = @n and VendorID = @vendorID

commit transaction
Run Code Online (Sandbox Code Playgroud)

现在,我已经阅读过select ... with (updlock rowlock),悲观锁定等等,但是不能将所有这些都放在一个连贯的图片中:

  • 这些提示如何与SQL Server 2008s的快照隔离一起使用?
  • 它们是否执行行级,页级甚至表级锁?
  • 这如何容忍多个用户尝试为单个供应商生成数字?
  • 这里有什么隔离级别?
  • 一般来说 - 做这些事情的方法是什么?

编辑

只是为了让事情更清楚:

  • 在应用程序的这个特定角落的性能绝对不是问题:订单将相对不频繁地进行,并且将涉及对供应商的Web服务的昂贵调用,因此1秒延迟是相当容忍的
  • 我们确实需要让每个供应商的订单号都是独立且顺序的

concurrency locking sql-server-2008

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

可视化区分Visual Studio 2010窗口

想象一下,我在本地有两个分支(defaultproduction)相同的解决方案"签出".现在,当我在Visual Studio中打开这两个时,绝对没有办法一目了然地区分它们.有什么方法可以配置Visual Studio以某种方式区分从不同路径打开的解决方案?想想SQL Server Management Studio:

在此输入图像描述

visual-studio-2010 visual-studio

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

System.Uri 在 .NET 4.5+ 中删除 Unicode RLM(从右到左标记;U+200F)字符

using System;

namespace UnicodeRlm
{
    class Program
    {
        static void Main(string[] args)
        {
            var uri = new Uri(
                "https://example.com/attachments/The title is \"????? ?????? ?????!?\" in Arabic.pdf");
            Console.WriteLine(uri.AbsolutePath);
            Console.WriteLine(uri.AbsolutePath.Length);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在 .NET 4.0 下,这会产生

/attachments/The%20title%20is%20%22%D9%85%D9%81%D8%AA%D8%A7%D8%AD%20%D9%85%D8%B9%D8%A7%D9%8A%D9%8A%D8%B1%20%D8%A7%D9%84%D9%88%D9%8A%D8%A8!%E2%80%8F%22%20in%20Arabic.pdf
168
Run Code Online (Sandbox Code Playgroud)

在 .NET 4.5+ 下,这会产生

/attachments/The%20title%20is%20%22%D9%85%D9%81%D8%AA%D8%A7%D8%AD%20%D9%85%D8%B9%D8%A7%D9%8A%D9%8A%D8%B1%20%D8%A7%D9%84%D9%88%D9%8A%D8%A8!%22%20in%20Arabic.pdf
159
Run Code Online (Sandbox Code Playgroud)

.NET 4.5 删除%E2%80%8FRLM字符部分:

...!%E2%80%8F%22%20in%20Arabic.pdf
...!%22%20in%20Arabic.pdf
Run Code Online (Sandbox Code Playgroud)

我有一个假设,这是由System.Uri 转义引起的,现在支持 RFC 3986,但是我的 RFC-fu 和 Unicode-fu 使我无法确定此 RFC 是否需要删除 RLM 或完全正确放置此 RLM 字符在原始字符串中。

我不完全确定这是否是正确的行为标准,但对我来说肯定不是,因为我无法在 .NET 4.5 中下载名称中带有 RLM 字符的文件,无论WebClientHttpWebRequest. …

c# unicode uri

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