问题列表 - 第40004页

Java枚举:重构switch语句的常量表达式需要'编译错误?

我有一个类为我的应用程序声明常量

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)

java

17
推荐指数
3
解决办法
3万
查看次数

在c#中多线程处理大量Web请求

我有一个程序,我需要在外部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)

c# multithreading webrequest

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

在ASP.NET MVC中在HTTP和HTTPS之间移动

所以我找到了[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)

asp.net-mvc

8
推荐指数
1
解决办法
5910
查看次数

C++:自动减少编译时依赖性的工具

在阅读了关于pimpl成语之后,我感到震惊!

是不是有一个工具可以检查.h/.cpp文件并推断可以放弃哪些依赖项?

c++ pimpl-idiom dependency-management

7
推荐指数
1
解决办法
943
查看次数

存储上次应用程序运行的日期/时间

我目前正在使用控制台应用程序(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)

我不确定如何实现这一目标.如果有人对此有任何建议我会非常感激:)

c# variables console-application

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

如何使用Ruby检查浏览器是否支持HTML5和CSS3功能?

我需要if使用Ruby 进行声明,检查客户端的浏览器是否支持HTML5.

css ruby browser html5 ruby-on-rails

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

Chrome扩展程序可以监控正在运行的网页上的XHR事件(或其他事件)吗?

我正在构建一个操作页面内容的Chrome扩展程序,但我感兴趣的内容只会在用户单击按钮并且数据已从Ajax调用加载后显示.

目前,扩展程序使用SetTimeout监视页面,但它很笨拙.

扩展程序是否可以知道何时启动Ajax调用以及何时结束?或者扩展程序能否以某种方式从页面接收事件?

google-chrome-extension

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

尝试在C中执行strcat函数时的EXC_BAD_ACCESS

我有一个程序,我在C中为uni编写,当我的代码到达这一行时:

strcat("md5 ", "blah");
Run Code Online (Sandbox Code Playgroud)

我收到一个EXC_BAD_ACCESS错误,我的应用程序崩溃了.据我所知,它没有任何问题,所以我认为一双新眼睛可以解决我的问题.有任何想法吗?

c unix

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

是否可以在不丢失用户会话的情况下回收IIS应用程序池?

我们目前正在部署代码以便非常规范地生活,但是缺点是破坏了用户会话数据.

有没有办法在不丢失会话数据的情况下回收IIS,或者在SQL服务器中持久化会话状态或类似方式?

asp.net iis

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

如何在Java中获取UDP数据包的TTL?

我正在使用Java应用程序将UDP数据包发送到Android设备.我有另一个Java应用程序接收这些UDP数据包并显示其数据 - 非常简单.

现在我正在研究一些路由算法 - 因此,知道UDP数据包自发送以来的跳数有多好.我的想法是只读出数据包的TTL(生存时间)值并显示它.你知道纯Java是否可行吗?该课程DatagramPacket根本没有给出任何提示.

我想这是不可能的,因为这些信息可能已经在较低层删除了,但我只想确定.:-)

java android udp ttl

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