我有一个类为我的应用程序声明常量
public class GroupConstants {
..
public static final int INTEGER_VALUE = 1;
public static final int LONG_VALUE = 2;
public static final int STRING_VALUE = 3;
..
}
Run Code Online (Sandbox Code Playgroud)
在代码中有一组switch语句
private static Object getValue(String stringValue, Parameter parameter) throws InvalidPatternException
{
Object result=null;
switch (parameter.getDataType())
{
case GroupConstants.STRING_VALUE: // String value
result=stringValue;
break;
case GroupConstants.INTEGER_VALUE: // Long value
case GroupConstants.LONG_VALUE:
case GroupConstants.BOOLEAN_VALUE:
case GroupConstants.DATE_VALUE:
..
}
Run Code Online (Sandbox Code Playgroud)
我想重构int常量值以由枚举表示
public enum DataType {
UNKNOWN_VALUE(0,"unknown"),
INTEGER_VALUE(1,"integer"),
LONG_VALUE(2,"long"),
STRING_VALUE(3,"string"),
BOOLEAN_VALUE(4,"boolean"),
..
}
Run Code Online (Sandbox Code Playgroud)
所以我的代码可能看起来像这样
@Deprecated
public …
Run Code Online (Sandbox Code Playgroud) 我有一个程序,我需要在外部sharepoint站点创建一些大量的文件夹(外部意思是我不能使用sharepoint对象模型).Web请求适用于此,但只需一次执行一个(发送请求,等待响应,重复)相当慢.我决定多线程化请求,尝试加快速度.该程序已大大加快,但经过一段时间(1-2分钟左右)后,并发异常开始被抛出.
代码在下面,这是最好的方法吗?
Semaphore Lock = new Semaphore(10, 10);
List<string> folderPathList = new List<string>();
//folderPathList populated
foreach (string folderPath in folderPathList)
{
Lock.WaitOne();
new Thread(delegate()
{
WebRequest request = WebRequest.Create(folderPath);
request.Credentials = DefaultCredentials;
request.Method = "MKCOL";
WebResponse response = request.GetResponse();
response.Close();
Lock.Release();
}).Start();
}
for(int i = 1;i <= 10;i++)
{
Lock.WaitOne();
}
Run Code Online (Sandbox Code Playgroud)
例外情况是这样的
未处理的异常:System.Net.WebException:无法连接到远程服务器---> System.Net.Sockets.SocketException:System.Net.Sockets通常只允许192.0.0.1:81使用每个套接字地址的一个用法
.
System.Net.SService.ConnectSocketInternal上的System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP)
中的Socket.DoConnect(EndPoint endPointSnapshot,SocketAddre ss socketAddress)(布尔值connectFailure,套接字s4,套接字s6,套接字和套接字,IPAddress和地址,ConnectSocketState state,IAsyncResult asyncResult,Int32 timeout,Exception&exception)
所以我找到了[RequiresHttps]属性,但是一旦你在https中你的那种卡在那里,所以试着能够对一个网址(和方案)进行操作我发现我最终不得不创建我自己的ExtendedController为不使用[RequireHttps]的操作恢复为http.
只是想知道我在做什么是好的还是有更好的方法?
public class ExtendedController : Controller
{
protected virtual void HandleHttpRequest(AuthorizationContext filterContext)
{
if (!string.Equals(filterContext.HttpContext.Request.HttpMethod, "GET", StringComparison.OrdinalIgnoreCase))
{
throw new InvalidOperationException("Cannot post between https and http.");
}
string url = "http://" + filterContext.HttpContext.Request.Url.Host + filterContext.HttpContext.Request.RawUrl;
filterContext.Result = new RedirectResult(url);
}
protected override void OnAuthorization(AuthorizationContext filterContext)
{
base.OnAuthorization(filterContext);
object[] attributes = filterContext.ActionDescriptor.GetCustomAttributes(true);
if (!attributes.Any(a => a is RequireHttpsAttribute))
{
if (filterContext == null)
{
throw new ArgumentNullException("filterContext");
}
if (filterContext.HttpContext.Request.IsSecureConnection)
{
this.HandleHttpRequest(filterContext);
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 在阅读了关于pimpl成语之后,我感到震惊!
是不是有一个工具可以检查.h/.cpp文件并推断可以放弃哪些依赖项?
我目前正在使用控制台应用程序(C#).它的作用是从数据库中提取文件并将它们存储在本地计算机上C驱动器上的相关文件夹中.
目前,每次运行控制台应用程序时,它都会从数据库中提取所有文件.
我希望能够做的是,每次运行它时,它只会提取自上次运行控制台应用程序以来提交的文件.目前,这是从数据库中提取文件的linq语句.
var titleObjects = ctn.Titles.Where(t => !t.Deleted && t.SubmissionState == 2 &&(t.Approved.HasValue && t.Approved.Value)).Select(t => t);
Run Code Online (Sandbox Code Playgroud)
理想情况下,我喜欢以下内容,其中应用程序的最后一次运行的日期和时间存储在某处:
var titleObjects = ctn.Titles.Where(t => !t.Deleted && t.SubmissionState == 2 && t.CreatedDate >= LastAppRun && t.CreatedDate <= DateTime.Now && (t.Approved.HasValue && t.Approved.Value)).Select(t => t);
Run Code Online (Sandbox Code Playgroud)
我不确定如何实现这一目标.如果有人对此有任何建议我会非常感激:)
我需要if
使用Ruby 进行声明,检查客户端的浏览器是否支持HTML5.
我正在构建一个操作页面内容的Chrome扩展程序,但我感兴趣的内容只会在用户单击按钮并且数据已从Ajax调用加载后显示.
目前,扩展程序使用SetTimeout监视页面,但它很笨拙.
扩展程序是否可以知道何时启动Ajax调用以及何时结束?或者扩展程序能否以某种方式从页面接收事件?
我有一个程序,我在C中为uni编写,当我的代码到达这一行时:
strcat("md5 ", "blah");
Run Code Online (Sandbox Code Playgroud)
我收到一个EXC_BAD_ACCESS错误,我的应用程序崩溃了.据我所知,它没有任何问题,所以我认为一双新眼睛可以解决我的问题.有任何想法吗?
我们目前正在部署代码以便非常规范地生活,但是缺点是破坏了用户会话数据.
有没有办法在不丢失会话数据的情况下回收IIS,或者在SQL服务器中持久化会话状态或类似方式?
我正在使用Java应用程序将UDP数据包发送到Android设备.我有另一个Java应用程序接收这些UDP数据包并显示其数据 - 非常简单.
现在我正在研究一些路由算法 - 因此,知道UDP数据包自发送以来的跳数有多好.我的想法是只读出数据包的TTL(生存时间)值并显示它.你知道纯Java是否可行吗?该课程DatagramPacket
根本没有给出任何提示.
我想这是不可能的,因为这些信息可能已经在较低层删除了,但我只想确定.:-)