小编amh*_*hed的帖子

避免删除Web Publish上的文件夹

我正在将我的应用程序部署到Azure网站.我已经配置succesfuly出版资料和设置tfspreview.com使用每个代码的持续集成提交自动发布.

我在路径"/ media"上有一个文件夹.此文件夹包含通过CMS(umbraco)上传的图片和文档.每个Web部署都会删除此文件夹.

这个答案,我学会了如何在.csproj或wpp.targets文件上添加SkipDelete规则,但每次我发布网站时,整个文件夹都会被删除.

这是我目前在wpp.targets中使用的代码:

<PropertyGroup>
<AfterAddIisSettingAndFileContentsToSourceManifest>
  AddCustomSkipRules
</AfterAddIisSettingAndFileContentsToSourceManifest>
</PropertyGroup>

<Target Name="AddCustomSkipRules">
<Message Text="Adding Custom Skip Rules" />
<ItemGroup>
  <MsDeploySkipRules Include="SkipMediaFolder">
    <SkipAction>Delete</SkipAction>
    <ObjectName>filePath</ObjectName>
    <AbsolutePath>media</AbsolutePath>
  </MsDeploySkipRules>
</ItemGroup>
</Target>

<PropertyGroup>
<UseMsDeployExe>true</UseMsDeployExe>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

deployment asp.net-mvc umbraco azure visual-studio-2012

20
推荐指数
1
解决办法
4243
查看次数

Umbraco 4.6+ - 如何通过C#中的doctype获取所有节点?

使用Umbraco 4.6+,有没有办法在C#中检索特定doctype的所有节点?我一直在寻找umbraco.NodeFactory命名空间,但还没有发现任何有用的东西.

c# api umbraco

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

TempData在哪里存储?

TempData在哪里存储在ASP.NET MVC框架中(更具体地说,ASP.NET MVC 2)?它是存储在服务器端,还是发送到客户端?

asp.net-mvc tempdata asp.net-mvc-2

16
推荐指数
2
解决办法
6927
查看次数

自主ASP.NET Web API和自主信号R一起使用Windows服务应用程序

我想构建一个Windows服务,通过自主ASP.NET Web API提供一些服务.另外,我想通过自主信号R告知客户一些变化.我认为ASP.NET SignalR将是通知集线器的完美解决方案.

当我运行这两项服务时,他们不能一起工作.如果我删除SignalR,Self-host API开始完美运行.另一种方式:删除Windows服务,SignalR完美地工作.

我不确定我的问题是什么,是否有可能同时为asp.net Web API和SignalR自行托管一个Windows服务?

我尝试了相同和不同的端口,但它不起作用.

另一个问题是,是否可以将两者放在同一个端口上?

我安装的包:

Microsoft.AspNet.WebApi.SelfHost
Microsoft.AspNet.SignalR.SelfHost
Microsoft.AspNet.WebApi.Owin
Microsoft.Owin.Host.HttpListener
Microsoft.Owin.Hosting
Microsoft.Owin.Cors
Run Code Online (Sandbox Code Playgroud)

我的代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks;
using System.Web.Http;
using System.Web.Http.SelfHost;

using Microsoft.AspNet.SignalR;
using Microsoft.Owin.Hosting;
using Owin;
using Microsoft.Owin.Cors;
using Microsoft.Owin;

[assembly: OwinStartup(typeof(WindowsService_HostAPI.Startup))]
namespace WindowsService_HostAPI
{
    partial class SelfHostService : ServiceBase
    {
        IDisposable SignalR;

        EventLog myLog = new EventLog();
        private const string appId = "MYHUB";
        public SelfHostService()
        { …
Run Code Online (Sandbox Code Playgroud)

c# asp.net api windows-services signalr

10
推荐指数
1
解决办法
5173
查看次数

实体框架上的懒惰与急切加载性能

所以我的DbContext上有以下模型类:

贷款

每次我渲染一个LoanApplication对象列表时,我都会这样做:

var context = new MyContext();
var applications = context.LoanApplications.Where(d => d.PropertyThatIWantToFilter = localVariable);
Run Code Online (Sandbox Code Playgroud)

这将返回一个IQueryable,然后我在我的控制器方法调用上转换为这样的ViewModel:

var vm = applications.Select(d => new LoanApplicationViewModel(d));
Run Code Online (Sandbox Code Playgroud)

LoanApplicationViewModel构造函数内部,我接受实体对象并执行相应的映射.问题在于,由于Solicitors集合是一个导航属性,因此每次实例化新的视图模型时都会对数据库进行调用.每个应用程序的平均律师数量是两个,这意味着如果我呈现一个列出最后10个应用程序的表,那么该应用程序将大约18-20次访问数据库.

我认为必须有一个更好的方法来获得这个集合,所以我改变了我的原始查询以急切加载集合,如下所示:

var applications = context.LoanApplications.Include("Solicitors").Where...
Run Code Online (Sandbox Code Playgroud)

虽然这会将对数据库的调用次数减少到只有一次,但查询速度要慢得多,大约慢50%.

该数据库托管在SQL Azure中,我们已经实现了瞬态故障处理,但我想,以减少不降低响应时间的性能对数据库进行调用的数量.

这里的最佳做法是什么?

c# asp.net-mvc entity-framework code-first azure-sql-database

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

捕获异步操作的异常

我在这里阅读更多关于异步的信息:http://msdn.microsoft.com/en-us/library/hh873173( v = vs1010).aspx

通过这个例子:

Task<bool> [] recommendations = …;
while(recommendations.Count > 0)
{ 
    Task<bool> recommendation = await Task.WhenAny(recommendations);    
    try
    {
        if (await recommendation) BuyStock(symbol);
        break;
    }
    catch(WebException exc)
    {
        recommendations.Remove(recommendation);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道,如果我已经在等待,Task.WhenAny为什么我需要再次在try块中等待?

如果我已经这样做了:Task<bool> recommendation = await Task.WhenAny(recommendations); 为什么这样做:if (await recommendation) BuyStock(symbol);

.net c# task-parallel-library async-await

9
推荐指数
2
解决办法
920
查看次数

实体框架Skip方法运行速度很慢

我在我的数据访问层使用Entity Framework 5,ObjectContext和POCO.我有一个通用的存储库实现,我有一个方法,使用Skip()和Take()通过分页查询数据库.一切正常,但跳过很多行时查询性能非常慢(我说的是170k行)

这是我对Linq to Entities的查询的摘录:

C#代码:

ObjectContext oc = TheOBJEntitiesFactory.CreateOBJEntitiesContext(connection);
var idPred = oc.CreateObjectSet<view_Trans>("view_Trans").AsQueryable();
idPred = idPred.OrderBy(sortColumn, sortDirection.ToLower().Equals("desc"));
var result = idPred.Skip(iDisplayStart).Take(iDisplayLength);
return new PagedResult<view_Trans>(result, totalRecords);
Run Code Online (Sandbox Code Playgroud)

在翻译的查询到的Transact-SQL我注意到,而不是使用ROW_NUMBER()直接条款与鉴于其作出一个子查询和应用ROW_NUMBER()的子查询的结果...

例:

select top(10) extent1.A, extent1.B.extent1.C from (
select extent1.A, extent1.B, extent1.C, 
row_number() OVER (ORDER BY [Extent1].[A] DESC) AS [row_number] 
from (
select A,B,C from table as extent1)) as extent1
WHERE [Extent1].[row_number] > 176610
ORDER BY [Extent1].[A] DESC
Run Code Online (Sandbox Code Playgroud)

这需要大约165秒才能完成.有关如何提高翻译查询语句性能的任何想法?

c# entity-framework poco entity-framework-5

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

正确的形式在C#中切片数组

我想问一下如何在不使用Array.Copy的情况下切片数组.我会给你一个我想要实现的例子,这样你就能理解我.

假设我有这个阵列.叫原创

[1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15]

我想从一个起始索引得到一个复制数组给定一些长度,让我说我想要元素一到元素6我希望代码执行任务,如

int startIndex = 0;
int lenght= 5;
int[] CopyArray = ArrayFromRange(Original, startIndex, length);
Run Code Online (Sandbox Code Playgroud)

然后copyArray将是:

[1 | 2 | 3 | 4 | 5]我不想使用Array.Copy,因为我将循环它以获得后续切片

所以我会这样做

int length = 3;
for(int i = 0; i < OriginalArray.Length; i++)
{
     int[] CopyArray = ArrayFromRange(OriginalArray, i, length);
     // perform some operations
} …
Run Code Online (Sandbox Code Playgroud)

c# arrays

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

MVC4捆绑策略

我在ASP.NET MVC4中使用了新的Bundling功能.目前我配置了以下捆绑包:

  • 〜/ JS/jquery的
  • 〜/ JS /形式
  • 〜/ JS /引导

根据我正在服务的视图,我通常会调用这三个组合(例如,主页上需要jquery包,而联系页面需要jquery + bootstrap,而表单需要全部三个).

我的问题是:有没有办法调用三个包从视图中呈现为一个文件?我不想为每种可能的组合制作捆绑包:

  • 〜/ JS/formsAndBootstrap
  • 〜/ JS/formsAndJQueryAndBootstrap
  • 等等...

optimization minify asp.net-mvc-4

5
推荐指数
1
解决办法
273
查看次数

如何将文本与终端中心对齐?

我想让我的文本与终端的中心水平对齐。我怎样才能在 C 中做到这一点?

c

5
推荐指数
1
解决办法
4346
查看次数