小编ale*_*440的帖子

IE10中查询字符串参数的编码

我收到客户的请求,他希望能够使用IE10地址栏中的参数键入我的Web服务的查询字符串并获取服务结果.参数包括希伯来语中的字符串,如:

http://mywebsite.com/service.asmx/foo?param1=123&param2=????????????
Run Code Online (Sandbox Code Playgroud)

在我看来,IE10将不会编码查询字符串参数 - 每个非ASCII字符后面的?mark会变成'3f'字节,虽然它确实编码了前面的内容?标记 - 网址本身.

例如,如果我尝试访问url(参数是虚构的,url不是,并且我与该网站没有任何关联)

http://www.shlomo.co.il/pageshe/sales/???-??????.asp?param=????? 
Run Code Online (Sandbox Code Playgroud)

然后在wireshark中查看我发送给服务器的字节,它显示了我

wireshark输出

您可以看到它确实用urlencoded字符串替换了URL的希伯来语部分,但用希伯来语参数替换了?????,它们是'3f'.

chrome中的相同字符串将以其整体编码:

GET http://www.shlomo.co.il/pageshe/sales/%D7%A8%D7%9B%D7%91-%D7%9C%D7%9E%D7%9B%D7%99%D7%A8%D7%94.asp?param=%D7%A4%D7%90%D7%A8%D7%90%D7%9D HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

我在win7/IE10和winXPheb/IE8的机器上试过它.

我的IE设置是(特别检查"始终显示编码的地址选项"以查看它是否有帮助并重新启动,但没有区别):

在此输入图像描述

我试图搜索有关该问题的任何信息,但没有找到太多信息.

我的问题是:

  • 它确实是这样的,还是我错过了什么?
  • 这种行为记录在哪里吗?
  • IE/Win中是否有任何启用参数编码的设置.

ps当然,如果我正在开发客户端/ web ui,我会简单地对我的查询进行urlencode,但我的客户请求正是将查询粘贴到IE地址栏,这就是为什么我对这种特定行为感兴趣.

谢谢.

url encoding internet-explorer web-services

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

Java中的非泛型集合 - 任何用途?

是否有任何情况下最好在Java中使用非泛型集合而不是通用集合(或者它们仅为向后兼容性而存在)?

java generics collections

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

TCP套接字accept()在Windows Server 2012上的[SYN]上返回

我使用HAProxy每10秒发送一次健康检查.

它按以下方式进行:

HAProxy -> server: [SYN]
server-> HAProxy : [SYN, ACK]
HAProxy->server  : [RST, ACK]
Run Code Online (Sandbox Code Playgroud)

我的TCP服务器是用以下方式用java编写的:

while (true){
    Socket socket = kaServerSocket.accept();
    MyListener listener = new MyListener(socket);
    listener.start(); //costly operation
}
Run Code Online (Sandbox Code Playgroud)

在Windows 7上,accept()在此交换后不返回(它在常规syn-> ack-> syn握手后返回),这就是我需要的.

但是,当应用程序在Windows Server 2012上运行时,accept()函数[SYN]将从HAProxy发送的第一个函数返回,并执行代价高昂的操作.

所以我有两个问题:

  1. 这种行为是可配置的吗?

  2. 如果我不想在运行监听器之前等待第一位或消息,我怎样才能在Windows 2012上检测到来自HAProxy的连接?

编辑:

它可以连接到Windows上的ATM TCP/IP吗?

https://msdn.microsoft.com/en-us/library/windows/desktop/ms737526(v=vs.85).aspx

使用accept函数时,实现在连接建立遍历发送方和接收方之间的整个距离之前,函数可能会返回.这是因为accept函数在收到CONNECT ACK消息后立即返回; 在ATM中,一旦处理CONNECT消息,就由路径中的下一个交换机返回CONNECT ACK消息(而不是由最终建立连接的端节点发送CONNECT ACK).因此,应用程序应该意识到,如果在收到CONNECT ACK消息之后立即发送数据,则数据丢失是可能的,因为可能没有在发送方和接收方之间始终建立连接.

java tcp haproxy

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

原因:'FBSession:无法从当前状态的令牌数据打开会话'

我想从缓存的tokenData打开一个到facebook的会话

但我犯了这个错误:原因:'FBSession:无法从当前状态的令牌数据打开会话'

我的代码:

 FBAccessTokenData *savedAccessTokenData =[TokenCacheStrategy getSavedToken];

if(savedAccessTokenData!nil){

 [appDelegate.session openFromAccessTokenData:savedAccessTokenData completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
                if(appDelegate.session.isOpen){
                    NSLog(@"session opened from saved access token");
                    NSLog(@"accesstoken: %@",[appDelegate.session.accessTokenData accessToken]);
                    if(completionBlock!=NULL){
                        completionBlock();
                    }

                }//session is open from token data

}
Run Code Online (Sandbox Code Playgroud)

session facebook ios

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

EF6"没有迁移已应用于目标数据库."

在mvc5应用程序中,我创建了一个CodeFirst数据模型,并对其进行了多次迁移.

然后我重构了我的项目,并将所有数据/迁移类移动到一个新项目,该项目由我的表示层引用.

在项目更改后,dbcontext成功连接并对DB执行读/写操作.

当我对模型进行微小更改并运行时add-migration,EF使用代码创建了一个迁移,从头开始创建数据库,就像它没有"看到"现有表一样.

当然,当我跑

Get-Migrations  -ConfigurationTypeName ConfigurationDbContext
Run Code Online (Sandbox Code Playgroud)

我有

No migrations have been applied to the target database.
Run Code Online (Sandbox Code Playgroud)

__MigrationHistory在数据库中是否完好和迁移/配置类的命名空间没有改变.此外,显然,ConnectionString是正常的,否则他将无法使用数据库,我会得到"自创建数据库以来支持上下文的模型"或类似的错误.

编辑:

正如评论中所建议的,我在DbContext构造函数中指定了确切的连接字符串,而不是web.config中的connectionstirng名称,就像在原始mvc项目中一样.

运行Get-Migrations和update-databse时,db中仍然没有历史记录/更改.

我跑的时候 Get-Migrations -ConfigurationTypeName My_Namespace.Migrations.ConfigurationDbContext.ConfigurationDbContext

我明白了

No migrations have been applied to the target database.
Run Code Online (Sandbox Code Playgroud)

如果我尝试指定连接字符串

Get-Migrations -ConfigurationTypeName My_Namespace.Migrations.ConfigurationDbContext.ConfigurationDbContext -ConnectionString "Server=my_server;Initial Catalog=my_catalog;User Id=my_user;Password=my_pass" -ConnectionProviderName="System.Data.SqlClient" -verbose -debug
Run Code Online (Sandbox Code Playgroud)

PM被卡在>>标志上,直到我重新启动或清除窗口......

如果我省略ConnectionProviderName="System.Data.SqlClient",控制台要求我输入它,在我输入后,它显示连接到正确的数据库,

Target database is: 'my_catalog (DataSource: my_server Provider: System.Data.SqlClient, Origin: Explicit)
Run Code Online (Sandbox Code Playgroud)

但仍然没有移民......

No migrations have been applied to the target database.
Run Code Online (Sandbox Code Playgroud)

为什么能够进一步调查/解决此问题可以做什么?

编辑2:

我的dbcontext的构造函数很简单: …

asp.net-mvc entity-framework

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

在openJPA mySQL中删除实体时的OptimisticLockException

我用OpenJPA 2.4.0MySQL

我有3个表- ,meeting,.locationmeeting_location

meeting_location是一个连接表,它有1个外键meeting,2到location- main_location_idsecondary_location_id.

我使用以下参数初始化表,然后尝试从meeting表中删除该条目.

    id  loc_name    
------  ------------
     0  location 0  
     1  location 1  
     2  location 2  
     3  location 3  
     4  location 4  
     5  location 5  
     6  location 6  
     7  location 7  
     8  location 8  
     9  location 9  


         id  name       
------  -----------
     1  meeting 1  


             id  meeting_id  main_location_id  secondary_location_id  name    
------  ----------  ----------------  ---------------------  --------
     1           1                 4                      9  (NULL) …
Run Code Online (Sandbox Code Playgroud)

java mysql openjpa

5
推荐指数
0
解决办法
3493
查看次数

存在@Singleton OpenEJB bean的几个实例

我有一个看起来像这样的课:

@Singleton
public class MySingletonImpl implements MySingleton{
    @Override
    public void init(){
        ...
    }

    @Override
    public void test(){
        ...
    }

}
Run Code Online (Sandbox Code Playgroud)

ApplicationComposer testng测试调用它看起来像这样:

@Listeners(ApplicationComposerListener.class)
public class MyTest{
     @EJB
     MySingleton mySingleton;

     @Module
     @Classes(cdi=true, value={MySingletonImpl.class})
     public EjbModule ejbModule() throws Exception{
          return new EjbModule(new EjbJar());
     }

     @BeforeClass
     public void setup(){
          mySingleton.init();
     }

     @Test
     public void test(){
          mySigleton.test();
     }
}
Run Code Online (Sandbox Code Playgroud)

我在测试运行时观察到的问题是,该方法调用object idMySingletonImpl类实例与test()调用该方法的实例不同init().

这种行为似乎很奇怪.

首先,我的问题如何解决?我想初始化然后在同一个对象上调用方法,而不是同一个类的不同实例.

第二,为什么容器会实例化多个@Singletons?

java testng singleton openejb

5
推荐指数
0
解决办法
74
查看次数

主索引,非键上的相等 - Silbershatz 数据库系统概念,A3

在 Silbershatz数据库系统概念第 6 版。,在第 12 章中。12.3.1,第。542,有一个用于处理查询的算法的解释,该查询通过对关系的非键属性施加等式约束,使用主索引进行选择。

在此处输入图片说明

该段落声称从文件中读取将是连续的,因为文件是按搜索键排序的。

我不明白 - 为什么读取是连续的?

在我看来,记录是按主索引的聚簇键排序的,选择是使用非键属性,所以这些属性可能包含在关系的每条记录中。我看到检索所有记录的唯一方法是对所有关系进行线性扫描。

database indexing

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

在.cshtml文件中设置断点 - VS2013

我需要看看在我的razor .cshtml视图中传递给模型的值.

我尝试设置断点或写入Debug,但两者都没有.

我处于调试模式,也有

    <compilation debug="true" targetFramework="4.5" />
Run Code Online (Sandbox Code Playgroud)

web.config

如何调试View C#代码?

在此输入图像描述

razor asp.net-mvc-4

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

承诺完成后javascript设置承诺回调

在下面的代码片段中,我试图在承诺完成设置Promise回调。

出于某种原因,它似乎“记住”在我期望未来完成它的执行之后执行回调。

为什么会这样?

	
	'use strict';
	var promiseCount = 0;
	
	function testPromise() {
		var thisPromiseCount = ++promiseCount;

		var log = document.getElementById('log');
		log.insertAdjacentHTML('beforeend', thisPromiseCount +
			') Started (<small>Sync code started</small>)<br/>');

		// We make a new promise: we promise the string 'result' (after waiting 3s)
		var p1 = new Promise(
			// The resolver function is called with the ability to resolve or
			// reject the promise
			function(resolve, reject) {
			
				log.insertAdjacentHTML('beforeend', thisPromiseCount +
					')  the promise is started(<small>Async code started</small>)<br/>'); …
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous promise

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