小编Cha*_*ert的帖子

为什么Thread.CurrentThread.CurrentCulture在Page Rendering和HttpModule.PostRequestHandlerExecute之间发生变化?

我正在创建一个HttpModule,它需要知道在MVC应用程序中设置的Thread.CurrentThread.CurrentCulture的值.该值当前由BaseController设置,但是当我的HttpModule.PostRequestHandlerExecute()方法触发时,它将恢复到文化在页面呈现之前的状态.

我通过使用以下步骤创建一个简单的Web应用程序来重复此操作:

  1. Module.PreRequestHandlerExecute:将文化设置为A.
  2. Page_Load:文化目前A.将文化设置为B.
  3. Module.PostRequestHandlerExecute:当前的线程文化是A.我希望它是B但它在页面呈现和PostRequestHandlerExecute之间被更改了

知道为什么.Net会改变这个值或者我怎么能绕过它?线程是一样的,所以.Net中的某些内容必须明确地恢复文化.

c# asp.net-mvc httpmodule

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

为什么我的SqlCommand在它应该是int时返回一个字符串?

我有一个应该总是返回单个int 的查询.我现在记录它返回一个完全与它应该是无关的字符串.

我们已经获得了一些随机的FormatExceptions,我们已经跟踪了几个数据库查询.经过一些额外的日志记录后,我发现今天早上,下面的查询返回了字符串"gladiator".Website.PkID是一个i​​nt列,大部分时间都可以工作,但有时它会失败并且返回一个在那里(大于任何有效的WebsiteID)或随机字符串的int.

每个会话开始时会触发一次此特定查询.它没有使用共享连接,所以我很难理解它是如何得到这样的混合结果的.连接池中是否会出现某种损坏?

我不认为这个问题是孤立的.我也看到了来自LINQ查询的类似的FormatExceptions(因为意外的结果).我们也在同一时间发现了一些错误:

将请求发送到服务器时发生传输级错误.(提供程序:TCP提供程序,错误:0 - 远程主机强制关闭现有连接.

这可能是连接问题吗?或者我们可能在数据库服务器和Web服务器之间混淆了结果集?这真让我摸不着头脑.

违规查询:

public static int GetActiveWebSiteID(string storeID, string statusID)
{
    int retval;

    string sql = @"SELECT isnull(MAX(PkID),0) FROM WebSite 
                   WHERE StoreID = @StoreID 
                   AND WebSiteStatusID = @WebSiteStatusID";

    SqlConnection conn = new SqlConnection(Settings.ConnString);
    SqlCommand cmd = new SqlCommand(sql, conn);
    cmd.CommandType = CommandType.Text;
    cmd.Parameters.AddWithValue("@StoreID", (object)storeID ?? DBNull.Value);
    cmd.Parameters.AddWithValue("@WebSiteStatusID", (object)statusID ?? DBNull.Value);

    conn.Open();
    using(conn)
    {
        var scalar = cmd.ExecuteScalar(); // <-- This value returned here should only ever be an int, but randomly …
Run Code Online (Sandbox Code Playgroud)

c# sql-server ado.net linq-to-sql

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

榆树 - 每个分支执行多行

例如,在一个分支中,我想看看一个数字可以被1000整除多少次,然后将起始数量少于该数量递归到函数中.这就是我写的:

if num // 1000 > 0 then
    repeat (num // 1000) (String.fromChar 'M')
    convertToRom (num % 1000)
Run Code Online (Sandbox Code Playgroud)

但是,我在测试时在REPL中收到以下错误:

> getRomNums 3500
-- TYPE MISMATCH ----------------------------------------- .\.\RomanNumerals.elm

Function `repeat` is expecting 2 arguments, but was given 4.

34|             repeat (num // 1000) (String.fromChar 'M')
35|>            convertToRom (num % 1000)

Maybe you forgot some parentheses? Or a comma?
Run Code Online (Sandbox Code Playgroud)

如何为单个if分支编写多行代码?

不相关的注释:格式系统使双斜杠成为注释,但在Elm中,双斜杠是整数除法.不知道如何解决这个问题.

if-statement read-eval-print-loop elm

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

在这种情况下如何为记录创建别名?

我有一个关于记录的问题:假设我有一个接收记录的函数,如下所示:

getId : { file | id : String } -> String
getId file = file.id
Run Code Online (Sandbox Code Playgroud)

我可以传递这样的信息:{ id = "abcd", name = "hi.txt"}因为它有一个id. 到目前为止一切都很好。我的问题是:我可以为函数类型签名中的“文件”创建一个别名吗?那的语法是什么?

alias record elm

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

zipWith用于Haskell中的树木

我正在学习Haskell使用Haskell表达学校:通过多媒体学习功能编程,我不确定如何解决这个问题.

使用由给定的树的定义

data Tree a = Node (Tree a) (Tree a) | Leaf a
Run Code Online (Sandbox Code Playgroud)

定义列表函数的树版本zipzipWith.在树叶或树木形状不同的情况下,您将不得不做出设计决定.尽量让你的决定尽可能优雅.

因为zip我有这个,但我不确定它是否"优雅"

zipTree :: Tree a -> Tree b -> Tree (a,b)
zipTree (Leaf a)     (Leaf b)     = Leaf (a,b)
zipTree (Node l1 r1) (Node l2 r2) = 
  let l = zipTree l1 l2
      r = zipTree r1 r2 
  in Node l r 

-- Problems...
zipTree (Node _ _)  (Leaf _)   = Node undefined undefined
zipTree (Leaf _)    (Node _ …
Run Code Online (Sandbox Code Playgroud)

binary-tree haskell

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

Elm:将带有单个元素的JSON数组解码为字符串

看了这样的东西,但找不到确切的问题.

我从服务器端验证返回JSON,如下所示:

{ 
  "field": ["field-name"], 
  "messages":["message","message"]
}
Run Code Online (Sandbox Code Playgroud)

我想做的是将其解码为榆树记录

{ field: String, messages: List String }
Run Code Online (Sandbox Code Playgroud)

但是,我遇到了错误的字段字段问题.我无法将单个元素JSON数组转换为该元素的字符串.

甚至可以使用Decode,或者我更好地将其解码为List,然后从列表中抓取头部.

这就是我对解码的看法:

valErrorDecoder : Decode.Decoder ValError
valErrorDecoder =
decode ValError
    |> required "field" (Decode.list Decode.string)
    |> required "messages" (Decode.list Decode.string)
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

frontend json decoder elm

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

如何检查变量是否已使用构造函数构造?

给定

type Bla = A Int | B Int

valA1 = A 1
valA2 = A 2
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以检查是否valA1已使用的构造函数构造valA2

constructor elm

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

Monad结果类型不会在`fail`上产生`Either String`

给定以下函数生成包含在Monad中的结果:

ab :: (Monad m) => Char -> m Bool
ab 'a' = return True
ab 'b' = return False
ab _   = fail "say what?"
Run Code Online (Sandbox Code Playgroud)

以下按照我的预期使用工作:

ab 'a' :: [Bool]      -- results in [True]
ab 'c' :: [Bool]      -- results in []
ab 'b' :: Maybe Bool  -- results in Just b
ab 'c' :: Maybe Bool  -- results in Nothing
ab 'a' :: Either String Bool  -- results in Right True
Run Code Online (Sandbox Code Playgroud)

但是,有Either String,fail实际上产生了异常,但我希望它是Left …

monads haskell

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

如何指定从中调用函数的实例

假设我有一个类型类,对于这个类型类的每个实例我都有一个函数

f :: [Bool] -> Maybe (a, [a])
Run Code Online (Sandbox Code Playgroud)

我怎么称呼f?更准确地说,如果b是此类型类中的另一种类型,我如何指定我的意思是来自a的实例的f而不是来自b的实例?

haskell

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

如何在榆树中播放音频

我从api那里得到了一些数据.

{
  "message":"",
  "data":[
    {
      "title":"Test Rock Song",
      "artist":"Music Artist Test",
      "audioUrl":"https://xyz/radio/03+-+HS3+-+Wajah+Tum+Ho+%5BDJMaza.Info%5D.mp3",
      "stateName":"California",
      "cityName":"Los Angles",
      "businessId":32
    },
    {
      "title":"R&B S1",
      "artist":"Music Artist Test",
      "audioUrl":"https://xyz/radio/1463469171175_Ba_khuda_tumhi.mp3",
      "stateName":"California",
      "cityName":"Los Angles",
      "businessId":32
    },
    {
      "title":"R&B S2",
      "artist":"Music Artist Test",
      "audioUrl":"https://xyz/radio/1465890934054_01+-+HS3+-+Tumhe+Apna+Banane+Ka+%5BDJMaza.Info%5D.mp3",
      "stateName":"California",
      "cityName":"Los Angles",
      "businessId":32
    }
  ],
  "count":3
}
Run Code Online (Sandbox Code Playgroud)

所以我在列表中迭代这些数据,每个都有一个mp3网址.我想当我点击链接然后特定的mp3将播放.

请任何人帮我实现此功能.

api html5-audio elm

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