我收到客户的请求,他希望能够使用IE10地址栏中的参数键入我的Web服务的查询字符串并获取服务结果.参数包括希伯来语中的字符串,如:
http://mywebsite.com/service.asmx/foo?param1=123¶m2=????????????
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中查看我发送给服务器的字节,它显示了我
您可以看到它确实用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设置是(特别检查"始终显示编码的地址选项"以查看它是否有帮助并重新启动,但没有区别):
我试图搜索有关该问题的任何信息,但没有找到太多信息.
我的问题是:
ps当然,如果我正在开发客户端/ web ui,我会简单地对我的查询进行urlencode,但我的客户请求正是将查询粘贴到IE地址栏,这就是为什么我对这种特定行为感兴趣.
谢谢.
是否有任何情况下最好在Java中使用非泛型集合而不是通用集合(或者它们仅为向后兼容性而存在)?
我使用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发送的第一个函数返回,并执行代价高昂的操作.
所以我有两个问题:
这种行为是可配置的吗?
如果我不想在运行监听器之前等待第一位或消息,我怎样才能在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消息之后立即发送数据,则数据丢失是可能的,因为可能没有在发送方和接收方之间始终建立连接.
我想从缓存的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) 在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的构造函数很简单: …
我用OpenJPA 2.4.0
了MySQL
我有3个表- ,meeting
,.location
meeting_location
meeting_location
是一个连接表,它有1个外键meeting
,2到location
- main_location_id
和secondary_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) 我有一个看起来像这样的课:
@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 id
的MySingletonImpl
类实例与test()
调用该方法的实例不同init()
.
这种行为似乎很奇怪.
首先,我的问题如何解决?我想初始化然后在同一个对象上调用方法,而不是同一个类的不同实例.
第二,为什么容器会实例化多个@Singleton
s?
在 Silbershatz数据库系统概念第 6 版。,在第 12 章中。12.3.1,第。542,有一个用于处理查询的算法的解释,该查询通过对关系的非键属性施加等式约束,使用主索引进行选择。
该段落声称从文件中读取将是连续的,因为文件是按搜索键排序的。
我不明白 - 为什么读取是连续的?
在我看来,记录是按主索引的聚簇键排序的,选择是使用非键属性,所以这些属性可能包含在关系的每条记录中。我看到检索所有记录的唯一方法是对所有关系进行线性扫描。
我需要看看在我的razor .cshtml视图中传递给模型的值.
我尝试设置断点或写入Debug,但两者都没有.
我处于调试模式,也有
<compilation debug="true" targetFramework="4.5" />
Run Code Online (Sandbox Code Playgroud)
在 web.config
如何调试View C#代码?
在下面的代码片段中,我试图在承诺完成后设置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)java ×4
asp.net-mvc ×1
asynchronous ×1
collections ×1
database ×1
encoding ×1
facebook ×1
generics ×1
haproxy ×1
indexing ×1
ios ×1
javascript ×1
mysql ×1
openejb ×1
openjpa ×1
promise ×1
razor ×1
session ×1
singleton ×1
tcp ×1
testng ×1
url ×1
web-services ×1