我需要连接到我写的WCF服务,而不必为我正在编写的客户端应用程序部署app.config.但是,我一直在努力弄清楚如何在代码中设置客户端的东西.这是我已经得到的...有没有人有任何想法我需要做什么才能使这个工作?我真的很感激.
这是我到目前为止的代码:
String baseAddress = "http://localhost/CommService";
WSDualHttpBinding binding = new WSDualHttpBinding();
binding.Name = "WSDualHttpBinding_ICommService";
binding.ClientBaseAddress = new Uri(baseAddress);
binding.ReliableSession.Ordered = true;
binding.ReliableSession.InactivityTimeout = new TimeSpan(0, 10, 0);
binding.ReceiveTimeout = new TimeSpan(0, 10, 0);
binding.SendTimeout = new TimeSpan(0, 0, 5);
InstanceContext context = new InstanceContext(this);
client = new CommServiceClient(context, "WSDualHttpBinding_ICommService");
client.Endpoint.Binding = binding;
Run Code Online (Sandbox Code Playgroud)
这是我的客户端应用程序的app.config:
<system.serviceModel>
<bindings>
<wsDualHttpBinding>
<binding name="WSDualHttpBinding_ICommService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:00:05"
bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00" …Run Code Online (Sandbox Code Playgroud) 我看到的是一个POST请求我做结束后发生的10或20秒的崩溃(didReceiveResponse,didReceiveData而connectionDidFinishLoading所有消防在飞机坠毁前发生了好).
这是我用来发出请求的代码:
NSURL* url = [[NSURL alloc] initWithString:urlString];
[urlString release];
NSData* requestData = [jsonData dataUsingEncoding:NSUTF8StringEncoding];
NSString* requestDataLengthString = [[NSString alloc] initWithFormat:@"%d", [requestData length]];
NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:requestData];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:requestDataLengthString forHTTPHeaderField:@"Content-Length"];
[request setTimeoutInterval:30.0];
[url release];
[requestData release];
[requestDataLengthString release];
m_URLConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
[request release];
Run Code Online (Sandbox Code Playgroud)
什么是这个崩溃非常奇怪的是这样的:如果我不叫 setHTTPBody我的NSData对象,setValue:@"application/json"为Content-Type和setValue:requestDataLengthString对Content-Length,碰撞也不会发生.我对发生的事情感到十分困惑.据我所知,崩溃直接NSData与我的请求发送对象有关.当它崩溃时,崩溃(EXEC_BAD_ACCESS)的调用堆栈中的顶部元素如下: …
我最近在我的闪亮的新VPS中部署了一个ASP.NET应用程序,虽然我对VPS通过共享托管解决方案提供的一般性能提升感到满意,但我对应用程序的启动时间不满意.
当我的客户第一次点击它时,我的网络应用程序需要相当长的时间才能启动.我没有在调试模式下运行它(在我的web.config中禁用它),它在启动时没有任何实际工作要做 - 我的应用程序启动事件处理程序中没有代码,我没有启动任何额外的线程,没有.我的客户第一次点击我的应用程序需要15-20秒才能响应.后续调用需要1-2秒,除非我等待几分钟让我的应用程序关闭.然后它又回到了15-20秒的启动时间.
(我知道我的计时基准是非常不科学的,这些数字应该只是给我的应用程序启动时的性能感觉).
我对ASP.NET的理解是,IIS(在本例中为7.0)在第一次运行时编译Web应用程序,然后将这些二进制文件缓存,直到Web应用程序发生更改为止.我的理解不正确吗?
所以,在那本书大小的序言之后,这是我的问题:
谢谢!
编辑:看来我的问题是这个问题的轻微重复(我认为我在这里找到了更好的答案,哈哈).但是,我认为我的问题更为全面,如果没有作为副本关闭,我会很感激,除非在这里有更好的,已经问过的问题来解决这个问题.
我有一个UIViewController被推送到UINavigationController并且当前显示.当我在视图控制器中启动一些异步任务时,我可以将self.navigationItem上的hidesBackButton 设置为YES,并且正确隐藏后退按钮.
一旦任务完成,我将hidesBackButton设置回NO(在UI线程上,我可能会添加,我已经确定了这一点),没有任何反应.后退按钮保持隐藏状态.
谁看过这个吗?让我特别疯狂的是,在我的应用程序(相同的应用程序)中,在不同的UINavigationController层次结构中,完全相同的代码正常工作!
在业余时间,我喜欢用OpenGL ES在iPhone上玩游戏开发.我正在将一个小的2D侧卷轴演示放在一起,以获得乐趣,而且我对OpenGL相对较新,我希望得到一些更有经验的开发人员的建议.
所以这是我的问题:在模型空间中指定每个2D元素的顶点是否有意义,然后在每次绘制帧时将每个元素转换为它的最终视图空间?
例如,假设我有一组块(正方形)构成我的侧卷轴的地面.每个方块定义为:
const GLfloat squareVertices[] = {
-1.0, 1.0, -6.0, // Top left
-1.0, -1.0, -6.0, // Bottom left
1.0, -1.0, -6.0, // Bottom right
1.0, 1.0, -6.0 // Top right
}
Run Code Online (Sandbox Code Playgroud)
假设我需要将这些正方形中的10个作为下一帧的基础绘制在一起.对于当前场景中可见的每个方格,我应该这样做吗?
glPushMatrix();
{
glTranslatef(currentSquareX, currentSquareY, 0.0);
glVertexPointer(3, GL_FLOAT, 0, squareVertices);
glEnableClientState(GL_VERTEX_ARRAY);
// Do the drawing
}
glPopMatrix();
Run Code Online (Sandbox Code Playgroud)
在我看来,这样做对场景中的每个元素的2D,对于每一个帧,变得有点紧张,我会想象谁使用OpenGL比我更聪明的人可能有这样做的更好的方法.
这一切都这样说,我期待听到这个消息,我应该分析代码,看看任何瓶颈可能是:那些人,我说:我没有写此代码的任何然而,我只是在这个过程中把我的思绪缠绕在它周围,这样当我去写它时它会变得更顺畅.
关于剖析和优化的主题,我真的不想在这里过早地进行优化,我只是试图围绕如何设置2D场景并渲染它.就像我说的那样,我对OpenGL相对较新,我只是想了解事情是如何完成的.如果有人对更好的方法有任何建议,我很乐意听到你的想法.
请记住,我对3D不感兴趣,现在只是2D.谢谢!
技术摘要:我正在开发部署在GlassFish v3上的Java Web服务,在CentOS 5上运行.
我的Web服务使用本机库(.so)提供的功能.本机库工作正常,但我没有太多运气正确配置环境以加载本机库但不受Web应用程序重新部署的影响,而无需重新启动应用程序服务器.
到目前为止我所做的是:
最初我在Web服务代码中加载了库(静态{System.load(path/to/libabc.so)};),所有路径设置正确,并且工作正常,直到我重新部署应用程序并且它抱怨该库由另一个ClassLoader加载.我发现本机库只加载一次.
为了尝试解决这个问题,我从Web应用程序中删除了库加载代码,创建了一个Singleton类,将其包装到Lifecyle模块中,将其部署到GlassFish共享库文件夹,然后配置GlassFish以在启动时运行包装器.我们的想法是,现在所有的Web应用程序都能够引用它,因为它不依赖于某个特定的Web应用程序,而是由层次结构中较高的ClassLoader加载.
当GlassFish启动时,本机库成功加载(linux> lsof | grep libabc.so).但是,在我的Web服务Java代码中执行本机方法时,Web服务代码失败并出现UnsatisfiedLinkError.在我看来,Web应用程序中的代码无法访问启动时加载的库.
谁能告诉我我做错了什么?
提前致谢.
我有一个问题,Aero Snap没有使用我正在处理的应用程序(Windows桌面,本机C++应用程序),我对发生的事情感到有点困惑,因为它看起来应该只是起作用,框.
我在mininal win32应用程序上使用了Spy ++,并在按下Win-Left时收到以下消息:
<00070> 00030D1C P WM_KEYDOWN nVirtKey:VK_LWIN cRepeat:1 ScanCode:5B fRepeat:0 fUp:0 <00071> 00030D1C P WM_KEYDOWN nVirtKey:VK_LWIN cRepeat:1 ScanCode:5B fRepeat:1 fUp:0 <00072> 00030D1C P WM_KEYDOWN nVirtKey: VK_LWIN c重复:1 ScanCode:5B f重复:1 fUp:0 <00088> 00030D1C S WM_GETMINMAXINFO lpmmi:0043FCBC
<00089> 00030D1C R WM_GETMINMAXINFO lpmmi:0043FCBC
<00090> 00030D1C S WM_WINDOWPOSCHANGING lpwp:0043FCC4
<00091> 00030D1C S WM_GETMINMAXINFO lpmmi:0043F8E8
< 00092> 00030D1C R WM_GETMINMAXINFO lpmmi:0043F8E8
<00093> 00030D1C R WM_WINDOWPOSCHANGING
..等等
所以我可以看到左键的WM_KEYDOWN没有到达应用程序,但我得到了aero snap"resize window"的东西.
当我Spy ++我的应用程序时,我可以看到左键没有被"拦截",而是被传递给应用程序,所以我没有得到任何抢购的善.
<00043> 000F0F12 P WM_KEYDOWN nVirtKey:VK_LWIN cRepeat:1 ScanCode:5B fRepeat:0 fUp:0
<00044> 000F0F12 …
大约一年前,我问过这个问题:你能帮我理解一下吗?"常见的REST错误:会话无关紧要".我的问题基本上是这样的:
好的,我得到HTTP身份验证是在每条消息上自动完成的 - 但是如何?是否每次请求都会发送用户名/密码?那不就是增加攻击面积吗?我觉得我错过了这个难题的一部分.
我收到的答案在移动(iPhone,Android,WP7)应用程序的上下文中非常有意义 - 在与REST服务交谈时,应用程序只会发送用户凭据以及每个请求.这对我很有用.
但是现在,我想更好地理解如何保护类似REST的网站,比如StackOverflow本身或像Reddit这样的东西.如果是用户通过网络浏览器登录而不是通过iPhone应用程序登录,情况会怎样?
我会坦率地说:我对网站安全性的理解非常有限,我不是网络开发人员(Damnit Jim,我是桌面开发人员!).我喜欢从应用程序角度使用REST服务,但现在我想尝试构建一个基于REST原则的网站,我发现自己很丢失.
如果上述问题中有任何内容不清楚您是否希望我澄清,请发表评论,我会解决.
我想打印一个FlowDocument带有PrintDialog一个XPS文件.生成的打印内容仅显示在XPS页面的一半上,而不是页面的整个宽度.以下是Windows XPS查看器中生成的XPS文档的示例:
(注意:如果我用普通的8x11打印纸上的打印机打印它看起来完全相同)
这是我用来打印这个文档的代码:
void Print()
{
PrintDialog printDialog = new PrintDialog();
bool? result = printDialog.ShowDialog();
if (!result.HasValue)
return;
if (!result.Value)
return;
double pageWidth = printDialog.PrintableAreaWidth;
double pageHeight = printDialog.PrintableAreaHeight;
FlowDocument flowDocument = CreateFlowDocument(pageWidth, pageHeight);
printDialog.PrintDocument(
((IDocumentPaginatorSource)flowDocument).DocumentPaginator,
"Test print job");
}
FlowDocument CreateFlowDocument(double pageWidth, double pageHeight)
{
FlowDocument flowDocument = new FlowDocument();
flowDocument.PageWidth = pageWidth;
flowDocument.PageHeight = pageHeight;
flowDocument.PagePadding = new Thickness(30.0, 50.0, 20.0, 30.0);
flowDocument.IsOptimalParagraphEnabled = true;
flowDocument.IsHyphenationEnabled = true;
flowDocument.IsColumnWidthFlexible = true; …Run Code Online (Sandbox Code Playgroud) 我已经实现了这个解决方案,以帮助防止浏览器页面缓存,基于如何防止Rails中的浏览器页面缓存的问题:
def set_cache_buster
response.headers["Cache-Control"] = "no-cache, no-store, max-age=0, must-revalidate"
response.headers["Pragma"] = "no-cache"
response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"
end
Run Code Online (Sandbox Code Playgroud)
虽然这肯定有效,但感觉有点像用大锤杀死一只蚂蚁; 一切都是防止缓存,包括图像(例如,汉堡图标,或其他类似的小图像).当从一个页面导航到另一个页面时,这会导致在重新加载这些图像时出现空白内容的难看的闪烁.
有没有办法可以阻止一般缓存,但是可以免除某些资产?