小编Kie*_*ton的帖子

是否有人在Mono上运行生产ASP.NET站点?

我正在尝试进行一项非正式的可行性研究,研究Mono/Apache/Linux是否真实"准备好"并且与任何更传统的.NET/IIS/Windows堆栈相当.

任何性能比较也会有所帮助.

asp.net mono performance

10
推荐指数
2
解决办法
2113
查看次数

如何调试(最好在IDE中)MSBuild脚本?

作为我们持续集成过程的一部分,我们非常广泛地使用MSBuild,虽然它非常强大,我们几乎可以在其中完成所有构建,测试和部署(利用一些自定义任务) - 我们发现使用标签进行调试是一种痛苦,并不能总是为我们提供足够的信息.

我发现:http://www.wintellect.com/CS/blogs/jrobbins/archive/2007/12/03/msbuild-debuggers.aspx,但遗憾的是该项目似乎已从Codeplex中消失.

有没有人知道是否有类似可用的东西或是否有其他方法/技术可以使用?

谢谢.

msbuild debugging continuous-integration build-process

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

使用AssemblyInfo自动更新多个AssemblyInfo.cs文件

我在一个解决方案中有许多AssemblyInfo.cs文件作为许多项目的一部分,我作为TeamCity的一部分自动构建.

为了使msbuild脚本更易于维护,我希望能够将AssemblyInfo社区任务与ItemGroup结合使用,例如

<ItemGroup>
     <AllAssemblyInfos Include="..\**\AssemblyInfo.cs" />
</ItemGroup>

<AssemblyInfo AssemblyTitle="" AssemblyProduct="$(Product)" AssemblyCompany="$(Company)" AssemblyCopyright="$(Copyright)" 
                  ComVisible="false" CLSCompliant="false" CodeLanguage="CS" AssemblyDescription="$(Revision)$(BranchName)" 
                  AssemblyVersion="$(FullVersion)" AssemblyFileVersion="$(FullVersion)" OutputFile="@(AllAssemblyInfos)" />
Run Code Online (Sandbox Code Playgroud)

由于OutputFile不能是引用的ItemGroup,因此它无法正常工作.

有谁知道如何使这项工作?

msbuild teamcity continuous-integration

8
推荐指数
2
解决办法
7445
查看次数

检测是否加载了HttpModule

我正在尝试找到一种方法来以编程方式检查是否加载了特定的HttpModule(作为我正在编写的组件需要模块正常工作).我尝试着:

bool ismodulepresent = false;
foreach(HttpModuleAction module in ((HttpModulesSection)ConfigurationManager.GetSection("system.web/httpModules")).Modules)
{ 
    if(module.Type == typeof(MyModule).FullName)
    {
        ismodulepresent = true;
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

但这仅适用于IIS5.1 <httpModules>部分,而不适用于较新的<system.webServer>部分.

有没有想过除了检查两个部分之外还有更好的方法吗?

asp.net iis httpmodule

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

使用名为"PropertiesController"的控制器的ASP.NET MVC路由

尝试使用名为PropertiesController的控制器(以及随后的路由)时,我遇到了一个棘手的问题(因为我是MVC的新手).

我相信这是因为我的解决方案中有一个名为"Properties"的目录(我无法删除).这有什么方法吗?

路线设置只是一条简单的路线:

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Properties", action = "List", id = "" } // Parameter defaults 
);
Run Code Online (Sandbox Code Playgroud)

并且在请求" http:// localhost/aptment2/properties / " 时我在IIS7中得到的错误是:

替代文字

当然有一种方法可以找到我找不到的方法吗?干杯.

asp.net asp.net-mvc routing iis-7

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

是否存在针对VB6的桌面应用程序使用跟踪系统?

我们正试图在VB6应用程序上获取一些使用指标,我们的目标是迁移到更新的技术.它相当庞大(如此大,以至于它刷新了VB6所具有的表格数量等限制)并且改进某种自定义监控本身并不是一项小任务.

我希望像DeskMetrics这样的工具(我不会把它们单独列出)会有某种遗留的COM控件,我们可以将它们放到每个表单中,并使用一些应用程序级配置和安装本地(现场)集我们可以捕获一些可以让我们做出决定的统计数据.

然而:

  1. 我找不到任何直接兼容的VB6库,可用于任何这些跟踪系统

  2. 由于我们客户的网站未必完全连接到互联网,因此我们无法找到任何可以在未连接到更广泛互联网的客户网站上进行本地安装的平台.

所以我的问题是,是否有任何图书馆/第三方确实满足这些要求,或者我们最好将我们自己非常简单的跟踪解决方案推广到数据库并通过某种报告收集该信息.

vb6 monitoring tracking google-analytics usage-statistics

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

在Scala中记录Play Framework 2的语法

这是一个非常愚蠢的问题,但是如何在Play Framework 2(以及Scala?)中方便地格式化日志字符串.

我用谷歌搜索但很难找到一个例子,基本上大多数链接都在谈论配置Logback,我做得很好.

我基本上试图找到最好的风格方式来做类似的事情:

if(Logger.isDebugEnabled)
    Logger.debug("Modified: Id = '" + real_session_id + "', Modified = " + modified.toString)
Run Code Online (Sandbox Code Playgroud)

来自C#背景(和log4net)我假设你可以这样做:

if(Logger.isDebugEnabled)
    Logger.debug("Modified: Id = '{0}', Modified = {1}", real_session_id, modified.toString)
Run Code Online (Sandbox Code Playgroud)

但是,我无法看到这对于特征的定义方式如何起作用.我也看到过模糊的引用,你可以Logger.isDebugEnabled通过使用惰性评估语法来避免检查:

Logger.debug("Modified: Id = ${real_session_id}, Modified = ${modified.toString}")
Run Code Online (Sandbox Code Playgroud)

这使用Scala宏 - 但同样,这不起作用,我可以找到很少的信息.

我错过了一些真正明目张胆的东西吗?

logging scala playframework playframework-2.0

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

Visio 中的项目依赖关系图

我正在寻找一种工具,可以在 Visio 中生成程序集/项目依赖关系图(或尽可能接近),以帮助我将系统的一些部分分解为更易于管理的主干。

包含/排除非项目依赖项的能力是必须的(即包含/排除 System.assemblies)。

.net dependencies visio visual-studio

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

什么代码作为XAML设计时的一部分执行?在Visual Studio和Blend中

作为一些背景知识,我正在使用Windows Store应用程序和Windows Phone 8应用程序共享一个ViewModel(PCL).

我正在使用MVVMLight和NInject/Common Service Locator来实例化视图模型和服务.这是伟大的,给我非常好的松耦合,这是很棒的测试等等.

然而,获得设计时数据支持(通过切换不同的NInject模块等)是一个完整的黑盒子,虽然我现在有它工作我对它不是很满意,它主要是通过反复试验.

我正在使用标准做法ViewModelLocator(实例化为app资源)从服务定位器中提取View Models.这总是被执行.

问题是,我无法确定设计时编辑器实际执行了多少代码.因此,为了确保初始化NInject并将CSL挂钩到NInject,我必须在其ViewModelLocator上调用一个静态构造函数App来启动NInject.

这对我来说似乎不对.实际上,我想知道最佳做法是什么,以及是否有任何文档/保证应用程序的哪些部分在设计时显示"启动",如果它们之间存在差异Windows应用商店应用和Windows Phone 8应用.

ViewModelLocator.cs(片段)

public class ViewModelLocator
{
    static ViewModelLocator()
    {
        System.Diagnostics.Debug.WriteLine("VML Start");
        var servicelocator = new NinjectServiceLocator(App.Kernel);
        ServiceLocator.SetLocatorProvider(() => servicelocator);
        System.Diagnostics.Debug.WriteLine("VML End");
    }

    public AppViewModel AppViewModel
    {
        get { return ServiceLocator.Current.GetInstance<AppViewModel>(); }
    }

    public MainViewModel MainViewModel
    {
        get { return ServiceLocator.Current.GetInstance<MainViewModel>(); }
    } 
}
Run Code Online (Sandbox Code Playgroud)

App.xaml.cs(片段)

partial class App : Application
{
    public static StandardKernel Kernel { private set; get; }

    static App() …
Run Code Online (Sandbox Code Playgroud)

xaml design-time dependency-injection windows-phone windows-store-apps

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

带有Azure的StackExchange.Redis:LockRelease表示已释放锁,但似乎没有

在这本书的结尾处,我略有结束:)我有一个原型(太大而无法共享太多依赖项),出于多种原因使用了Redis-其中之一是存储序列化值,并控制更新通过使用带有LockTake/Release单独键的保护锁来获得该值。

整个应用看起来像这样(注意:此代码段无法重现我的问题!):

using Nito.AsyncEx;
using StackExchange.Redis;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace RedisAzureLockingTest
{
    class Program
    {
        static void Main(string[] args)
        {
            AsyncContext.Run(async () =>
            {

                var cm = await ConnectionMultiplexer.ConnectAsync("blah:6379,ssl=false,password=blah,defaultDatabase=1,syncTimeout=5000");
                var db = cm.GetDatabase();

                // store key
                RedisKey key = "thisisourtest";
                await db.StringSetAsync(key, "initial value", flags: CommandFlags.DemandMaster); // SET

                // acquire lock
                RedisKey lockkey = "thisisourtest.lock";
                string locktoken = Guid.NewGuid().ToString();
                bool success = await db.LockTakeAsync(lockkey, locktoken, TimeSpan.FromDays(1), CommandFlags.DemandMaster);
                if (!success) throw new …
Run Code Online (Sandbox Code Playgroud)

c# azure redis stackexchange.redis azure-redis-cache

5
推荐指数
0
解决办法
804
查看次数