小编Lod*_*ijk的帖子

SignalR和HttpContext/Session

我理解为什么SignalR不允许你访问HttpContext.但是,这对我们来说是个问题.让我解释:

我们的应用程序是一个多租户应用程序,用户在登录时选择环境.这基本上在HttpSession中注册了ConnectionStringName.在我们的SignalR Hub中,我们需要访问数据库Disconnect.但这是不可能的,因为此时我们没有HttpContext,无法确定要写入的环境.

任何人都可以向我们提出如何解决这个问题的建议吗?我们有点卡在这一点上.

编辑:如果您的解决方案在负载平衡环境中工作,则为奖励积分.

asp.net signalr signalr-hub

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

Json.net全局设置

有没有办法为Json.net指定全局设置?

我们遇到的问题是它将所有DateTimes都置于UTC(正确地说是这样).出于传统目的,我们希望默认为本地时间.我不想在下面放置以下代码:

var settings = New JsonSerializerSettings();
settings.DateTimeZoneHandling = DateTimeZoneHandling.Local;
JsonConvert.DeserializeObject(json, settings);
Run Code Online (Sandbox Code Playgroud)

c# json.net

15
推荐指数
2
解决办法
9989
查看次数

MVC4异步和并行执行

所以我试图了解.net 4.5中这个新的"异步"内容.我之前使用异步控制器和任务并行库进行了一些操作,并完成了这段代码:

采取这个模型:

public class TestOutput
{
    public string One { get; set; }
    public string Two { get; set; }
    public string Three { get; set; }

    public static string DoWork(string input)
    {
        Thread.Sleep(2000);
        return input;
    }
}
Run Code Online (Sandbox Code Playgroud)

在这样的控制器中使用哪个:

public void IndexAsync()
{
    AsyncManager.OutstandingOperations.Increment(3);

    Task.Factory.StartNew(() => 
        { 
            return TestOutput.DoWork("1"); 
        })
        .ContinueWith(t => 
        { 
            AsyncManager.OutstandingOperations.Decrement(); 
            AsyncManager.Parameters["one"] = t.Result; 
        });
    Task.Factory.StartNew(() =>
        {
            return TestOutput.DoWork("2");
        })
        .ContinueWith(t =>
        {
            AsyncManager.OutstandingOperations.Decrement();
            AsyncManager.Parameters["two"] = t.Result;
        });
    Task.Factory.StartNew(() =>
        {
            return TestOutput.DoWork("3");
        })
        .ContinueWith(t …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asynchronous task-parallel-library

13
推荐指数
2
解决办法
7835
查看次数

使用c#在IIS中创建虚拟目录

这个需要一些解释......

我想自动设置IIS,因此我们的集成测试(使用Watin)可以在任何环境中运行.为此,我想创建一个将分别创建和销毁虚拟目录的Setup和Teardown.

我想到的解决方案是使用MSBuild社区任务在代码中使用模拟的IBuildEngine自动化IIS.

但是,当我尝试创建一个虚拟目录时,我收到以下错误代码:0x80005008.编辑:我删除了早期尝试的工件,现在我得到一个IndexOutOfRangeException

我在Vista上使用IIS7.这是我用来运行任务的代码:

var buildEngine = new MockedBuildEngine();
buildEngine.OnError += (o, e) => Console.WriteLine("ERROR" + e.Message);
buildEngine.OnMessage += (o, e) => Console.WriteLine("MESSAGE" + e.Message);
buildEngine.OnWarning += (o, e) => Console.WriteLine("WARNING: " + e.Message);

var createWebsite = new MSBuild.Community.Tasks.IIS.WebDirectoryCreate()
                    {
                        ServerName = "localhost",
                        VirtualDirectoryPhysicalPath = websiteFolder.FullName,
                        VirtualDirectoryName = "MedicatiebeheerFittests",
                        AccessRead = true,
                        AuthAnonymous = true,
                        AnonymousPasswordSync = false,
                        AuthNtlm = true,
                        EnableDefaultDoc = true,
                        BuildEngine = buildEngine
                    };

createWebsite.Execute();
Run Code Online (Sandbox Code Playgroud)

有人知道这里发生了什么吗?或者有人知道更好的方法吗?

c# iis msbuild

3
推荐指数
1
解决办法
1万
查看次数

应用ToList()后的不同结果

考虑以下课程:

public class Score
{
    private static readonly Guid _relationId = Guid.NewGuid();

    public Guid Id { get; set; }
    public Guid RelationId { get { return _relationId; } }

    public Score()
    {
        Id = Guid.NewGuid();
    }
}
Run Code Online (Sandbox Code Playgroud)

以下功能:

public IEnumerable<Score> GetScores()
{
    yield return new Score();
    yield return new Score();
    yield return new Score();
}
Run Code Online (Sandbox Code Playgroud)

为什么以下函数返回1:

public int Execute()
{
    var scores = GetScores();
    IList<Score> externalScores = new List<Score>();

    var filteredScores = scores.Where(score => externalScores.All(x => x.RelationId != …
Run Code Online (Sandbox Code Playgroud)

c# linq

3
推荐指数
1
解决办法
111
查看次数

在Oracle中强制执行查询超时

我找了Oracle等同于WAITFOR DELAYMSSQL,所以我可以测试,当我在我的脚本超时会发生什么.

oracle

2
推荐指数
1
解决办法
993
查看次数

在asp.net中回发后保留锚点

我在我的一个页面上使用了一个coda滑块.自然地,锚点("#currentTab")信息在回发后丢失.这很烦人,因为当您按某个选项卡上的按钮时,总是会在回发后的第一个选项卡上结束.

让这些信息在回发中存活的最佳方法是什么?

javascript asp.net

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

流利的nhibernate:删除HasOne关系时出现问题

我有两节课

public  PartMap()
{
   Id(x => x.ID).GeneratedBy.Guid();
   HasOne(x => x.Stock)
          .Cascade.All();
}

public Stock
{
  Id(x => x.ID).GeneratedBy.Guid();
  References(x => x.Part);
}
Run Code Online (Sandbox Code Playgroud)

零件只有一只库存,这就是我使用HasOne的原因。数据已插入好,我有一个零件,一个库存,它们已保存好。我的问题是,当尝试删除时,我收到一个错误,指出零件的库存前期密钥已被违反

"ORA-02292: integrity constraint (PRINERGY.FK121AD9E59966BE23) violated " .
Run Code Online (Sandbox Code Playgroud)

我看到它尝试删除零件而不删除相关库存。我该如何解决?

foreign-keys fluent-nhibernate

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