我如何previous使用OleDbDataReader.
我知道 DataReader 只是使用 DataReader.Read() 前进到下一行,但是我怎样才能回到上一行。???!
即使他们使用像hidemyass.com这样的代理网站,我也想从我网站上的用户那里获得真实的IP地址
这是我的代码并认为它有效,但我测试了它,但它没有
<?php
function getRealIpAddr()
{
if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}
?>
Run Code Online (Sandbox Code Playgroud)
我认为这段代码可行,但代理仍然绕过它.
提前致谢.
我搜索可重用的工具或算法,使我能够动态地将条件逻辑应用于问题.
让我们详细解释一下:
问题1 - 你的年龄是多少?
a) less 18
b)between 18-25
c) greater than 25
Run Code Online (Sandbox Code Playgroud)
如果他选择
a) then he go to Question 2
b) he will goto question 5
c) he will goto question 7
Run Code Online (Sandbox Code Playgroud)
所以我说下一个问题取决于当前问题的答案.我不需要为每个问题设置条件.我需要它是动态的.
我希望现在很清楚.有没有任何组件或设计模式或算法实现我所说的
欢迎所有想法.
我有这段代码:
try
{
// DO SOMETHING
}
catch (Exception e)
{
throw new WebPartPageUserException("YEAH MESSAGE");
}
Run Code Online (Sandbox Code Playgroud)
并且编译器向我发送不使用var e的警告.
然后我改为
try
{
// DO SOMETHING
}
catch (Exception)
{
throw new WebPartPageUserException("YEAH MESSAGE");
}
Run Code Online (Sandbox Code Playgroud)
这没关系,但最后我才明白
try
{
// DO SOMETHING
}
catch
{
throw new WebPartPageUserException("YEAH MESSAGE");
}
Run Code Online (Sandbox Code Playgroud)
也有效.
这三个街区是否一样?在那种情况下,这是最佳做法?
我有一个复杂的WCF Rest服务,它接受多个输入和对象.我不能简单地通过在Fiddler中进行HTTP POST来调用它,因为有太多的数据要提供(我可以,但它将永远带我).所以我想在代码中使用代理来完成它.有没有办法为.NET 4 WCF Rest服务生成代理?否则,您建议我允许我轻松测试服务?
谢谢.
我正在尝试编写单元测试来创建新用户并验证是否发生了所需的重定向.这是我的Register动作,它是VS模板中几乎开箱即用的代码:
[HttpPost]
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
// Attempt to register the user
MembershipCreateStatus createStatus;
Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null, out createStatus);
if (createStatus == MembershipCreateStatus.Success)
{
FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */);
return RedirectToAction("Index", "Home");
}
else
{
ModelState.AddModelError(String.Empty, ErrorCodeToString(createStatus));
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
以下是我的测试,使用Moq.无论我设置什么,我总是从其中一个默认MembershipCreateStatus错误消息中得到错误.例如:
提供的密码无效.请输入有效的密码值
要么
提供的密码检索答案无效
我已经尝试将CreateUser方法更改为仅调用用户名,密码和电子邮件重载,但这并不重要.这就像是在某处执行密码策略的检查.
public void RegisterPost_WithAuthenticatedUser_RedirectsToHomeControllerIfSuccessful()
{
// Arrange
var accountController = …Run Code Online (Sandbox Code Playgroud) TreeNode上IEnumerator的有效参数是什么?
我在这一行得到了错误:
IEnumerator ie = tn.Nodes.GetEnumerator();
Run Code Online (Sandbox Code Playgroud)
在这个方法中:
private void parseNode(TreeNode tn)
{
IEnumerator ie = tn.Nodes.GetEnumerator();
string parentnode = "";
parentnode = tn.Text;
while (ie.MoveNext())
{
TreeNode ctn = (TreeNode)ie.Current;
if (ctn.GetNodeCount(true) == 0)
{
_nodeToString += ctn.Text;
}
else
{
_nodeToString += "<" + ctn.Text + ">";
}
if (ctn.GetNodeCount(true) > 0)
{
parseNode(ctn);
}
}
_nodeToString += "</" + parentnode + ">";
_nodeToString += "\n";
}
Run Code Online (Sandbox Code Playgroud) 我的课程如下
public interface A {
public void doSomething();
}
public abstract class B implements A {
public void doOneMoreThing() {
// Do one more thing
}
}
public class C extends B {
@Override <---- Causes error
public void doSomething() {
// Do something
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我,为什么这个@Override注释会导致错误?
谢谢Nayn
我正在尝试使用UDP多播设置自动发现,并使用来自互联网的一些示例代码.这似乎当我运行在客户端和在同一台机器上的服务器工作正常,但是当我在不同的机器上运行它们,无论是与一机在虚拟机上运行我的机器(VirtualBox的)上或在其他"真正"的机器网络然后其他机器似乎永远不会收到正在广播的消息.
在一些谷歌搜索后,似乎可能的罪魁祸首将是路由器(SpeedTouch 780)可能正在丢弃数据包.我怎样才能检查是否是这种情况?他们可以检查其他事情以尝试追踪问题吗?可能完全是别的东西吗?
代码:
服务器代码
using System;
using System.Net.Sockets;
using System.Text;
internal class StockPriceMulticaster
{
private static string[] symbols = {"ABCD", "EFGH", "IJKL", "MNOP"};
public static void Main ()
{
using (UdpClient publisher = new UdpClient ("230.0.0.1", 8899))
{
Console.WriteLine ("Publishing stock prices to 230.0.0.1:8899");
Random gen = new Random ();
while (true)
{
int i = gen.Next (0, symbols.Length);
double price = 400*gen.NextDouble () + 100;
string msg = String.Format ("{0} {1:#.00}", symbols, price);
byte[] sdata = Encoding.ASCII.GetBytes (msg); …Run Code Online (Sandbox Code Playgroud) 我写了一个WCF服务.我已成功浏览该服务,它说:
You have created a service.
Run Code Online (Sandbox Code Playgroud)
然后,我使用visual studio中的"添加服务引用"添加对它的引用.然后我编写以下代码来使用它....
ServiceReference1.VLSContentServiceClient client = new ServiceReference1.VLSContentServiceClient("VLSContentServiceEndpointBehaviour");
List<ServiceReference1.Category> cats = client.GetCategoriesByGET();
Run Code Online (Sandbox Code Playgroud)
但我得到错误:
找不到名为"VLSContentServiceEndpointBehaviour"的端点元素,并在ServiceModel客户端配置部分中收缩"ServiceReference1.IVLSContentService".这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此名称匹配的端点元素.
这没有任何意义,因为参数'endPointConfigurationName'与我在服务中设置的相匹配.这是服务配置:
<system.serviceModel>
<services>
<service behaviorConfiguration="VLSContentServiceBehaviour" name="VLSContentService">
<endpoint address="" behaviorConfiguration="VLSContentServiceEndpointBehaviour" binding="webHttpBinding" contract="IVLSContentService"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="VLSContentServiceBehaviour">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="VLSContentServiceEndpointBehaviour">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud)
这是怎么回事?
c# ×6
wcf ×2
.net ×1
algorithm ×1
asp.net ×1
datareader ×1
ip ×1
java ×1
moq ×1
multicast ×1
php ×1
rest ×1
tdd ×1
tree-nodes ×1
try-catch ×1
udp ×1
unit-testing ×1
vb.net ×1
wcf-rest ×1
web-services ×1