问题列表 - 第12713页

WCF:使用流式传输与消息合同

我正在尝试使用带有消息合同的WCF流,因为我需要在流本身旁边添加其他参数.

基本上我正在创建一个文件上传和下载服务,顶部还有一些额外的逻辑.

不幸的是,当我尝试从浏览器点击服务以检查一切正常时,我收到以下错误:

'/'应用程序中的服务器错误.合同'IFileTransferService'中的"UploadFile"操作使用具有SOAP头的MessageContract.None MessageVersion不支持SOAP标头.

不幸的是谷歌搜索它并没有产生任何帮助我的重要结果.你们能帮助我吗?这里是服务的细节(我已经删除了下载部分,因为空间的原因).

[ServiceContract(Namespace = "http://www.acme.org/2009/04")]
public interface IFileTransferService
{
    [OperationContract(Action = "UploadFile")]
    void UploadFile(FileUploadMessage request);
}

[MessageContract]
public class FileUploadMessage
{
    [MessageHeader(MustUnderstand = true)]
    public FileMetaData Metadata { get; set; }

    [MessageBodyMember(Order = 1)]
    public Stream FileByteStream { get; set; }
}

[DataContract(Namespace = "http://schemas.acme.org/2009/04")]
public class FileMetaData
{
    [DataMember(Name="FileType", Order=0, IsRequired=true)]
    public FileTypeEnum fileType;

    [DataMember(Name="localFilename", Order=1, IsRequired=false)]
    public string localFileName;

    [DataMember(Name = "remoteFilename", Order = 2, IsRequired = false)]
    public string remoteFileName;
}
Run Code Online (Sandbox Code Playgroud)

我试图使用basichttpbinding和customhttp绑定,但效果不佳:

<customBinding> …
Run Code Online (Sandbox Code Playgroud)

.net c# wcf wcf-binding wcf-configuration

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

使用手机相机拍摄的照片的条形码阅读

我们如何以编程方式读取使用手机相机拍摄的条形码?例如,如何使用iPhone或Android或Java ME?我们需要单独的硬件来读取条形码还是我们可以进行图像处理?

iphone mobile android barcode java-me

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

比较字符串的最快方法(文字和数字)

我有一个与字符串比较相关的性能问题(在Java中).

我正在开发一个需要对一个巨大的列表进行排序的项目(Eclipse中的TableViewer).无论如何,我已经将瓶颈指向了compareTo()的调用,以便比较字符串.

有没有办法优化字符串比较的性能?我搜索并用谷歌搜索无济于事......

由于该项目严格限于Win32环境,我当时认为也许可以利用它......

任何建议将不胜感激.

编辑:我忘了提到我需要数字比较和字符串的字面比较.

EDIT2:目标本质上是加速用户界面,因为每次单击表头以执行排序时等待几秒是不可接受的.我正在考虑以某种方式缓存值来加速比较.由于字符串非常静态,我认为这是可能的.

EDIT3:我知道很多人都被try() - catch()所困扰.实际上这不是一个问题,因为即使我删除该代码并只执行catch-block(单个compareTo()),它仍然以与原始代码几乎相同的速度执行.但是,如果我也注释掉compareTo(); 只留下比较功能的开销(获得标签等),它快速闪电.所以我仍然需要一种比较字符串的更好方法.通过缓存或做一些其他魔术.

不幸的是,不可能改变排序算法 - 但我怀疑它是那么慢,因为它成功地快速排序纯整数.

澄清:

compare函数是作为TableViewer框架的一部分实现的,用于执行排序操作,这意味着我没有实现特定的排序算法,而是由SWT/JFace实现.我只是实现了比较功能.

更有趣的是,用于排序双精度的代码比字符串比较更快.使用数字而不是实际的文字字符串对列进行排序更快....这使我得出结论,在compareTo()方法中发生了一些可疑的事情......

这是该功能的核心:

// e1Label and e2Label is Strings to be compared
//

// Be smart about the comparison and use non-lexical comparison if
// possible (i.e. if both strings are actually numbers...)
//
// Warning: This is only "semi-smart" as the sorting might get "a bit"
// messed up if some of the values in a column can be …
Run Code Online (Sandbox Code Playgroud)

java eclipse optimization performance

6
推荐指数
2
解决办法
8050
查看次数

c#datatable在第0位插入列

有没有人知道在位置0的数据表中插入列的最佳方法?

c# datatable position insert

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

在服务器上修改时,JavaScript文件不会在浏览器中重新加载

所以我有这个ASP.Net 2.0网站,它使用JS文件中包含的功能.当一个网页加载js文件加载正常.但是当我在服务器上更改该文件中的某些内容时,更改不会传播到用户的浏览器.它根据过时的文件继续工作.如何强制浏览器从服务器重新加载修改后的文件?

javascript asp.net asp.net-2.0

6
推荐指数
2
解决办法
3959
查看次数

用javascript(lazyload)停止加载图像?

我试图在dom准备就绪时停止使用javascript加载图像,然后在我想要的时候初始化加载,即所谓的延迟加载图像.像这样的东西:


$(document).ready(function () {
  var images = $('img');
  $.each(images, function() {
    $(this).attr('src', '');
  });
});

这不起作用(在ff3.5,safari 3-4中测试).无论如何,图像正在加载,我不明白.

例如,这个插件www.appelsiini.net/projects/lazyload正在执行完全相同的操作,删除页面加载时的src属性.

我错过了什么?

编辑:我在这里添加了一个测试页面:http://dev.bolmaster2.com/dev/lazyload-test/ 我首先完全删除src属性,然后在5秒后我用原始图像添加它.仍然不起作用,至少萤火虫说图像在开始时加载,是祸害信任吗?

javascript jquery lazy-loading

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

如何在Windows上检测已安装的Sun/Oracle JRE?

我试着用谷歌搜索答案,但我发现的只是如何从浏览器中检测Java的技巧或者只是启动Java的非常通用的方法,看它是否运行,这在我的应用程序中引入了可能很长的延迟.(第一次在我的机器上启动时~~两秒钟)

如果以下限制适用,我希望有更快的方法:

  • 只有Sun/Oracle JRE或JDK
  • 只有1.6或更高
  • 只有Windows平台
  • 不是来自浏览器,而是来自普通的旧Win32可执行文件

此检测不适用于公共应用程序,仅适用于Windows平台上的内部使用.

是否有我可以阅读的注册表路径或我可以解析的一些配置文件?

java winapi

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

IIS7下的奇怪的64/32位GUID问题

我的团队之一最近在矩阵中遇到了一个有趣的故障.如果有人能帮助解释这一点,那就太好了.这可能是一个复杂的解释,所以忍受我.

我们正在构建一个ASP.Net应用程序.在其中我们有一个简单的"if"语句.

Guid adminId = Guid.Empty;
if (mRoles.Contains("Admin"))
{
    adminId = mUserId;
}
Run Code Online (Sandbox Code Playgroud)

(其中mRoles是一个List并包含"Admin")

这与预期一样(即adminID被分配mUserId).但是,当重写使用下面的三元运算符时它不会!(adminID被分配Guid Empty)!

Guid adminId = mRoles.Contains("Admin") ? mUserId : Guid.Empty;
Run Code Online (Sandbox Code Playgroud)

发现此问题的开发人员在64位计算机(IIS7/64位vista)上,如果他在IIS中更改其设置,请执行以下操作...在"默认应用程序池">"高级设置"下,选中"启用32位"应用".现在两个陈述都有效!

我们认为这可能是因为Guid是一个结构而不是一个类,并且该值在某种程度上是在64位进程下被抵消的.

我怀疑问题与此类似... http://www.mail-archive.com/comtypes-users@lists.sourceforge.net/msg00164.html 这可以解释为什么第一个简单的if语句有效.(因为创建adminId变量可能是创建指针而三元运算符不是?)

如果有人能够阐明这一点,那就太好了.这是兼容性错误吗?或者我们对三元运算符和结构组合的误解?

谢谢.

UPDATE

将一个简单的应用程序组合在一起并且不能在一个全新的项目中重现它,因此必须是GUID之外的其他东西.

// Works(将mUserId分配给adminId)

Guid adminId = true ? mUserId : Guid.Empty;
Run Code Online (Sandbox Code Playgroud)

//不工作(即使t == true !!!! ???)

bool t = (mRoles.Contains("TenantAdmin");
Guid adminId = t ? mUserId : Guid.Empty;
Run Code Online (Sandbox Code Playgroud)

我想我们会回到这个图纸上.感谢大家的帮助,如果我们再进一步,我会再次回复此处.

唯一可能不太清楚的是mRoles不是Type字符串的通用列表.它是一个字符串[],并且Contains()方法是LINQs扩展方法,如果这有任何区别,但无法理解为什么: - ?

更新2

我们已经查看了IL并且它是正确的(现在可以间歇性地工作!)我们发现,当默认应用程序池加载更多应用程序时,它会再次开始失败.我们唯一能想到的是,其中一些应用程序可能包含一些非托管代码,这些代码会以某种方式干扰我们的应用程序,这可能吗?

.net 64-bit iis-7 guid

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

防止C++中的意外对象复制

在我们公司的编码标准中,我们被告知"要知道可以防止复制的方式(意外)".

我不确定这意味着什么,但假设它们意味着如果不需要,我们应该停止复制类.

我能想到的是:

  1. 使类的复制构造函数成为私有.
  2. 使类的赋值运算符(operator =)成为私有的.
  3. 使类的构造函数显式(以阻止使用不正确的变量创建类).
  4. 对于执行内存分配和需要复制的所有类,请确保复制构造函数和赋值运算符执行深度复制而不是浅复制.

我是在正确的轨道上吗?有什么我可能错过的吗?

c++ copying

17
推荐指数
3
解决办法
8387
查看次数

无法连接到localhost,但可以在SQL Server 2008中使用计算机名称

我正在使用SQL Server 2008,在Visual Studio中,在服务器资源管理器中,我可以连接到使用我的计算机名运行的SQL Server,但我不能使用127.0.0.1或localhost,它们不应该是相同的吗?

此外,当在web.config文件中使用连接字符串时,我无法使用localhost连接,但只能使用计算机名称连接!我在SQL Config Manager中缺少某些设置吗?

sql-server

43
推荐指数
4
解决办法
9万
查看次数