小编tst*_*ter的帖子

一次往返执行多个SQL命令

我正在构建一个应用程序,我想将多个查询批处理到一个数据库的往返.例如,假设单个页面需要显示用户列表,组列表和权限列表.

所以我存储了procs(或者只是简单的sql命令,比如"select*from Users"),我想执行其中的三个.但是,为了填充这一页,我必须进行3次往返.

现在我可以编写单个存储过程("getUsersTeamsAndPermissions")或执行单个SQL命令"select*from Users; exec getTeams; select*from Permissions".

但我想知道是否有更好的方法来指定在一次往返中进行3次操作.好处包括更容易进行单元测试,并允许数据库引擎将查询并行化.

我正在使用C#3.5和SQL Server 2008.

.net c# sql-server ado.net data-access

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

在Entity Framework中动态添加where子句

我有这个sql语句

SELECT userID from users WHERE
(name='name1' AND username='username1') OR
(name='name2' AND username='username2') OR
(name='name3' AND username='username3') OR
..........
(name='nameN' AND username='usernameN')
Run Code Online (Sandbox Code Playgroud)

我可以使用LINQ在实体框架中实现此语句吗?

c# linq entity-framework-4

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

为什么Perl foreach变量赋值修改数组中的值?

好的,我有以下代码:

use strict;
my @ar = (1, 2, 3);
foreach my $a (@ar)
{
  $a = $a + 1;
}

print join ", ", @ar;
Run Code Online (Sandbox Code Playgroud)

和输出?

2,3,4

有没有搞错?为什么这样做?这总是会发生吗?是$ a不是一个真正的局部变量?他们在想什么?

perl

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

用于Java的进程内SOAP服务服务器

好的,我正在开发一个程序,它将被部署到许多机器上(Windows,Linux,AIX,z/Linux,openVMS等).我希望该应用程序包含SOAP Web服务,但我不想捆绑tomcat或为服务运行单独的服务(我希望它们与应用程序的其余部分在同一进程中).

基本上我正在寻找的是我可以定义一个类(比如说WebServices).我也可以编写WSDL或任何其他类型的服务描述.我想要这样的东西:

SOAPServer server = makeMeASoapServer();
//do config on the server
server.add(new WebService(...));
server.listen(port);
Run Code Online (Sandbox Code Playgroud)

显然名称和参数会有所不同.

我一直在看Axis,它似乎提供了这个,但我不知道我需要使用哪些类.我是否因为想要这种行为而疯狂?我不敢相信更多的人不会这样做,我一直在.NET客户端中使用嵌入式Web服务.

java axis soap web-services

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

用Amazon SES区分弹跳和OOTO

我正在通过Amazon SES发送电子邮件并使用SNS处理通知.我刚刚意识到我一直在处理OOTO消息作为反弹,我想解决这个问题,所以我正确区分了两者.

OOTO和退回通知都有"notificationType":"Bounce".

通知中必须有一些其他信息可以让您区分弹跳和OOTO,但我无法在任何地方找到这些信息.有没有人想到这个?

amazon-web-services amazon-ses

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

Eclipse生成的Web服务客户端非常慢

一点前面的信息:

我有一个SOAP服务(使用JAX-WS(Endpoint类)托管,但我认为这不重要).

我可以使用Visual Studio生成客户端(C#)来连接并使用Web服务.

我使用Eclipse Web Tools生成了一个Java客户端(新的 - >其他 - > Web服务 - > Web服务客户端).

然后我写了一个JUnit测试来测试客户端.测试通过,但运行需要很长时间.每次服务呼叫需要300秒(给予或花费几秒钟).此外,计算机的速度并不重要.如果我在非常慢的工作笔记本电脑上运行它,它需要花费相同的时间,就好像我在快速的家用机器上运行它.

我已经调试了org.apache.axis.encoding.DeserializationContext中的以下函数的轴代码:

public void parse() throws SAXException
    {
        if (inputSource != null) {
            SAXParser parser = XMLUtils.getSAXParser();
            try {
                parser.setProperty("http://xml.org/sax/properties/lexical-handler", this);
                parser.parse(inputSource, this);

                try {
                    // cleanup - so that the parser can be reused.
                    parser.setProperty("http://xml.org/sax/properties/lexical-handler", nullLexicalHandler);
                } catch (Exception e){
                    // Ignore.
                }
Run Code Online (Sandbox Code Playgroud)

没有惊喜,但是对parser.parse()的调用占用了300秒.来自Web服务的时间非常短,因此解析时不应该花费太多时间.

如果有人想知道,解析器的实际类型是 com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl

我无法调试它,因为我没有源代码(我已经厌倦了调试50个深入常用库的调用).

我目前正在运行分析器以包含Sun的软件包.我会在完成后发布我的发现(添加所有这些包会显着减慢测试速度)

我正在跑步Eclipse 3.5.1,我正在使用axis 1.4

编辑:

这是JUnit测试:

@Test
public void testExecuter() throws IOException, InterruptedException, RemoteException, …
Run Code Online (Sandbox Code Playgroud)

java eclipse axis web-services

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

我可以创建多少个System.Timers.Timer实例?我可以扩展多远?

我有一个应用程序,它使用System.Timers.Timer对象来进行过期和电子邮件通知等.目前该系统有一百个计时器同时存在,但我们将扩大应用程序的使用量,这个数字可能会开始扩展到数千(可能不高于10,000).

我找不到任何有关扩大计时器数量的信息,所以我认为它不会成为一个问题.有谁知道这是否会成为一个问题,我应该主动考虑改变我处理过期的方式?

.net timer

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

在单个位置禁用Windows身份验证

我有一个Web应用程序,我想提供匿名访问其中的几个Web服务,以便我们可以从计算机访问Web服务,而无需在我们的网络上登录Windows.

我试过这里的东西使用Windows身份验证禁用ASP.NET应用程序的子文件夹上的身份验证.我这样做了:

<authentication mode="Windows" />
<authorization>
  <deny users="?" />
</authorization>
Run Code Online (Sandbox Code Playgroud)

...

  <location path="Tests/QService.asmx">
    <system.web>
      <authorization>
        <allow users="?" />
        <deny users="*" />
      </authorization>
    </system.web>
  </location>
Run Code Online (Sandbox Code Playgroud)

这两者都"起作用",因为它们允许匿名用户访问Web服务.但是,似乎IIS仍然发送授权挑战,因为当我从浏览器访问服务时,我得到一个框来输入我的用户名和密码.如果我点击取消,我会匿名访问该页面.但是,我们的一些客户端不能很好地处理这个问题,因为401返回代码而失败.

有没有办法在该单一位置完全禁用Windows身份验证,以便IIS不会尝试建立Windows身份验证?

asp.net iis iis-7.5

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

jQuery远程验证与服务器生成的错误消息

我正在使用Validation jQuery插件进行一些验证.我有一个服务,现在返回"真"和"假",一切都很好.

但是,我使用的错误消息是"该名称已被采用".

我希望错误消息是"That name is already <a href="/item?id=543"> taken</a>."该项ID是从服务器返回的内容.但我无法弄清楚除了单个true或false之外如何从服务器返回任何内容并且仍然有验证工作.

我知道我可以使用JQuery.Format("名称{0}被采取")来做"使用xxx的名称"但我真的想要给现有项目提供超链接,我不想要改变项目页面接受名称而不是ID.

jquery

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

结合WebResource.axd CSS请求

我开发了一些ASP.NET服务器控件,其中包含自己的javascript和css文件.很多这些控件都使用jQuery扩展,正如您所知,它们通常包含自己的css文件.

我正在使用Telerik的RadScript管理器,它结合了像老板这样的javascript.不过,我使用的是AjaxToolkit的ClientCssResource属性,包括在我的服务器控件的CSS文件,我已经注意到,CSS文件没有得到合并的.我的页面有10-15个WebResource.axd请求我的服务器控件的css文件.

我发现的一切只是关于组合javascript,没有什么告诉我如何组合CSS文件.有没有人知道是否有办法动态组合CSS(我不想手动组合,因为每个页面可能使用不同的服务器控件子集)?

asp.net

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