问题列表 - 第25977页

字符串连接

嗨,我想用C#动态连接字符串.我在XML文件中有本地化的字符串,这个字符串我想根据运行时的语言选择进行更新.
下面我指定了输入字符串和预期输出字符串格式.

EX:
  *Input String:*
      "The density of your %s gas at reference conditions of %s  %s and %s  %s is:"
  *Expected Output String:*
    "The density of your Helium gas at reference conditions of 20.01  g and 15.12  Kg is:"
Run Code Online (Sandbox Code Playgroud)

谢谢

c# xml string

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

PHP in_array()/ array_search()奇怪的行为

我在使用PHP函数时发现了一些奇怪的行为in_array().我有这样一个数组:

$arr = [TRUE, "some string", "something else"];
Run Code Online (Sandbox Code Playgroud)

现在,如果我想检查是否"test"在数组中它显然不是,但in_array()仍然返回TRUE,为什么呢?

$result = in_array("test", $arr);
var_dump($result);  //Output: bool(true)
Run Code Online (Sandbox Code Playgroud)

使用时会发生同样的事情array_search():

$result = array_search("test", $arr);
var_dump($result);  //Output: int(0)
Run Code Online (Sandbox Code Playgroud)

我想也许数组中的值TRUE会自动导致函数为每个结果返回TRUE,而不检查数组的其余部分,但我找不到任何可能表明非常奇怪的功能的文档.

php arrays boolean

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

如何减少Entity Framework 4查询编译时间?

简介:我们遇到的问题是EF4查询编译时间超过12秒.缓存查询只会让我们到目前为止; 我们有什么办法可以减少编译时间吗?有什么我们可能做错了我们可以寻找吗?谢谢!

我们有一个EF4模型,它通过WCF服务公开.对于我们的每个实体类型,我们公开了一个方法来获取并返回整个实体以进行显示/编辑,包括许多引用的子对象.

对于一个特定的实体,我们必须.Include()31个表/子表来返回所有相关数据.不幸的是,这使得EF查询编译过于缓慢:编译和构建7,800行,300K查询需要12-15秒.这是Web UI的后端,需要比这更快.

我们可以做些什么来改善这个?我们可以CompiledQuery.Compile这个 - 在第一次使用之前没有做任何工作,所以有助于第二次和后续的执行,但我们的客户很紧张,第一次使用也不应该很慢.同样,如果托管Web服务的IIS应用程序池被回收,我们将失去缓存计划,尽管我们可以延长生命周期以最大限度地减少这种情况.此外,我无法提前预先编译此方法和/或序列化EF编译的查询缓存(缺少反射技巧).CompiledQuery对象只包含对缓存的GUID引用,因此它是我们真正关心的缓存.(写出来它发生在我身上,我可以在app_startup的后台开始执行所有查询来编译它们 - 这样安全吗?)

然而,即使我们确实解决了这个问题,我们也会根据我们正在搜索的参数动态地使用LINQ-to-Entities子句构建我们的搜索查询:我不认为SQL生成器做得足够好,我们可以移动所有这些逻辑进入SQL层,所以我认为我们不能预先编译我们的搜索查询.这不太严重,因为搜索数据结果使用较少的表,因此编译时间仅为3-4秒而不是12-15,但客户认为最终用户仍然无法接受.

所以我们真的需要以某种方式减少查询编译时间.有任何想法吗?

  • 分析指向ELinqQueryState.GetExecutionPlan作为开始的地方,我试图进入,但没有真正的.NET 4源可用我不能走得太远,并且Reflector生成的源代码不会让我介入函数或在其中设置断点.
  • 该项目是从.NET 3.5升级的,所以我尝试在EF4中从头开始重新生成EDMX,以防它出现问题但没有帮助.
  • 我已经尝试过在这里做广告的EFProf实用程序,但它看起来不会对此有所帮助.无论如何,我的大型查询会崩溃其数据收集器.
  • 我已经通过SQL性能调优运行生成的查询,它已经有100%的索引使用率.我看不出会导致查询生成器问题的数据库有什么问题.
  • 执行计划编译器中是否存在O(n ^ 2) - 将其分解为单独数据加载的块而不是一次可能帮助的所有32个表?将EF设置为延迟加载没有帮助.
  • 我已经购买了预发布的O'Reilly Julie Lerman EF4书,但除了"编译你的查询"之外我找不到任何东西可以提供帮助.

我不明白为什么在32个表中生成一个选择需要12-15秒,所以我很乐观有一些改进的余地!

谢谢你的任何建议!我们正在针对SQL Server 2008运行,如果重要的话,XP/7/server 2008 R2使用RTM VS2010.

.net entity-framework entity-framework-4

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

递归函数中的分段错误C++

为什么我的递归函数会出现分段错误.每当我将一个大于4的值作为参数调用它时,就会发生这种情况

#include <iostream>
#include <limits>

using namespace std;    

int printSeries(int n){
    if(n==1){       
        return 1;
    }
    else if( n==2){     
        return 2;
    }
    else if( n==3){
        return 3;
    }
    else if( n==4){
        return printSeries(1) + printSeries(2) + printSeries(3);
    }
    else{       
        return printSeries(n-3) + printSeries((n-2) + printSeries(n-1));
    }
}


int main(){

        //double infinity = numeric_limits<double>::max();

        for(int i=1; i<=10; i++){
            cout << printSeries(i) << endl;
        }

    return 0;

}
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我不确定是否返回正确的结果:

return printSeries(n-3) + printSeries(n-2) + printSeries(n-1);
Run Code Online (Sandbox Code Playgroud)

c++ recursion segmentation-fault

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

在IIS7上部署WCF教程应用程序:"无法找到类型"

我一直在尝试按照本教程将WCF示例部署到IIS.我无法让它发挥作用.这是一个托管站点,但我确实有IIS管理员访问服务器.但是,在本教程的第2步中,我无法"创建一个物理上位于此应用程序目录中的新IIS应用程序".我似乎无法找到菜单项,上下文菜单项或什么不创建新的应用程序.我一直在疯狂地点击所有地方,仍然无法弄清楚如何创建一个新的应用程序.我想这可能是根本问题,但我尝试了其他一些事情(如下所述)以防万一实际上不是问题.这是我在IIS管理器中看到的图片,以防我的话不公正:

没有添加应用程序在这里http://www.freeimagehosting.net/uploads/d6edbaaf3c.png

这是在http://test.com.cws1.my-hosting-panel.com/IISHostedCalcService/Service.svc上 "部署"的.错误说:

    The type 'Microsoft.ServiceModel.Samples.CalculatorService', 
provided as the Service attribute value in the ServiceHost directive, 
or provided in the configuration element
 system.serviceModel/serviceHostingEnvironment/serviceActivations 
could not be found.
Run Code Online (Sandbox Code Playgroud)

我还尝试在dotnetpanel中创建一个指向IISHostedCalcService的虚拟目录(IISHostedCalc).当我导航到http://test.com.cws1.my-hosting-panel.com/IISHostedCalc/Service.svc时,会出现另一个错误:

This collection already contains an address with scheme http.  
There can be at most one address per scheme in this collection.
Run Code Online (Sandbox Code Playgroud)

有趣的是,如果我点击查看应用程序,似乎虚拟目录是一个应用程序(见下图)...虽然,根据上面的错误消息,它不起作用.

这是一个应用程序?http://www.freeimagehosting.net/uploads/f3230be046.png

根据教程,没有涉及编译; 我刚刚将文件放在服务器上,如下面的文件夹IISHostedCalcService:

service.svc
Web.config
<dir: App_Code>
   Service.cs
Run Code Online (Sandbox Code Playgroud)

service.svc包含:

<%@ServiceHost language=c# Debug="true" Service="Microsoft.ServiceModel.Samples.CalculatorService"%>
Run Code Online (Sandbox Code Playgroud)

(我尝试使用c#属性的引号,因为这看起来有点奇怪没有引号,但它没有区别)

Web.config包含:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <services>
      <service name="Microsoft.ServiceModel.Samples.CalculatorService"> …
Run Code Online (Sandbox Code Playgroud)

wcf iis-7 iis-manager

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

如何为MySQL中的每个组选择第一行?

在C#中它会是这样的:

table
   .GroupBy(row => row.SomeColumn)
   .Select(group => group
       .OrderBy(row => row.AnotherColumn)
       .First()
   )
Run Code Online (Sandbox Code Playgroud)

Linq-To-Sql将其转换为以下T-SQL代码:

SELECT [t3].[AnotherColumn], [t3].[SomeColumn]
FROM (
    SELECT [t0].[SomeColumn]
    FROM [Table] AS [t0]
    GROUP BY [t0].[SomeColumn]
    ) AS [t1]
OUTER APPLY (
    SELECT TOP (1) [t2].[AnotherColumn], [t2].[SomeColumn]
    FROM [Table] AS [t2]
    WHERE (([t1].[SomeColumn] IS NULL) AND ([t2].[SomeColumn] IS NULL))
      OR (([t1].[SomeColumn] IS NOT NULL) AND ([t2].[SomeColumn] IS NOT NULL)
        AND ([t1].[SomeColumn] = [t2].[SomeColumn]))
    ORDER BY [t2].[AnotherColumn]
    ) AS [t3]
ORDER BY [t3].[AnotherColumn]
Run Code Online (Sandbox Code Playgroud)

但它与MySQL不兼容.

mysql grouping group-by

59
推荐指数
10
解决办法
12万
查看次数

如何在LINQ to Entity中的两个日期之间进行搜索?

我在SQL中有一个例子如何在Linq to Entity中使用相同的逻辑?

SELECT * FROM TABLE WHERE DATE BETWEEN STARTDATE AND ENDDATE 
Run Code Online (Sandbox Code Playgroud)

.net linq linq-to-entities

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

PHP类似于mysql的函数

假设这是一个小问题,但在php中是否有类似mysql的LIKE函数?

所以,例如:

like('goo*','google.com');//is true
like('*gl*','google.com');//true
like('google.com','google.com')//also true
Run Code Online (Sandbox Code Playgroud)

我知道正则表达式rullez,但不知道任何解决方案达到此目的

php function

5
推荐指数
2
解决办法
6060
查看次数

识别场地的"优雅"方式?

我正在编写一个系统,它是程序员应用程序的基础,需要检测他们对某些数据的访问.我几乎可以使用属性这样做,如下所示:

public class NiceClass {
    public int x { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后我进入并调整getset访问器,以便他们适当地处理访问.但是,这要求用户(应用程序编程人员)将其所有数据定义为属性.

如果用户想要使用具有"正常"字段的预先存在的类(而不是属性),我无法检测到这些访问.例:

public class NotSoNiceClass {
    public int y;
}
Run Code Online (Sandbox Code Playgroud)

我无法检测到访问y.但是,我想允许使用预先存在的类.作为折衷方案,用户有责任在访问此类数据时通知我.例如:

NotSoNiceClass notSoNice;
...
Write(notSoNice.y, 0);  // (as opposed to notSoNice.y = 0;)
Run Code Online (Sandbox Code Playgroud)

这样的事情.相信我,我已经非常彻底地研究了这一点,甚至直接分析字节码以检测访问因可能的间接性等而不可靠.我确实需要用户通知我.

现在我的问题是:你能推荐一种"优雅"的方式来执行这些通知吗?(是的,我知道这种情况一开始并不"优雅";我试图不让它变得更糟;)).你会怎么做?

这对我来说是个问题,因为实际上情况是这样的:我有以下课程:

public class SemiNiceClass {
     public NotSoNiceClass notSoNice { get; set; }
     public int z { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如果用户想要这样做:

SemiNiceClass semiNice;
...
semiNice.notSoNice.y = 0;
Run Code Online (Sandbox Code Playgroud)

他们必须做这样的事情:

semiNice.Write("notSoNice").y = 0;
Run Code Online (Sandbox Code Playgroud)

哪里Write会返回克隆 …

c# notifications field identifier magic-string

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

C编译器如何使用可变数量的参数实现函数?

几天前我参加了一次技术面试,有人问我C编译器的implments如何使用可变数量的参数?它是如何通过堆栈的?

有谁知道或可以探索那个?

谢谢,丹

c variables arguments

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