小编The*_*boy的帖子

无法让Tomcat6.0与Windows 7环境一起使用

在升级到Windows 7之前,我能够使用Tomcat 6.0,但是当我升级到新的Windows,并下载了Eclipse EE并下载了apache内容时,我无法运行Apache.当我尝试通过系统托盘或甚至Windows服务启动我的apacher服务器时,它会给出followign错误屏幕.

"Windows无法在本地计算机上启动Apache Tomcat 6.有关详细信息,请查看系统事件日志.请参阅服务器特定的错误代码0".

我已经能够找到一些关于错误代码0的论坛,以及关于这个问题的一些其他文档,但没有一个解决方案似乎工作.

我遇到的解决方案之一说采用msvcr71.dll(新平台上的mscvrt.dll)并将其放入apache的bin文件夹中.这也行不通.

有没有人知道这个问题的解决方法,或者解决它的方法,所以我可以启动并运行我的服务器谢谢.

tomcat windows-services windows-7

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

使用StringBuilder格式化电子邮件时,NewLine字符不起作用

我正在使用StringBuilder对电子邮件进行简单格式化,并且代码如下所示.


StringBuilder message = new StringBuilder();
            message.append("Name: " + model.getName() + "\r\n");
            message.append("Organization: " + model.getOrganization() +"\r\n");
            message.append("Comment: " + model.getComment() +"\r\n");
            contactMessage.setMessage(message.toString());

我正在记录格式并且它正常工作,但是当我们实际检查发送的电子邮件时,它会以一行形式出现.

如果我不使用HTML会怎么样?这是我真正的问题...感谢您的帮助.

java stringbuilder newline

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

用C#反思?

我最近从Java Web开发人员转变为主要负责WPF应用程序的C#应用​​程序开发人员.我过去常常使用带有Java的Spring MVC,其中许多代码结构被抢占并为我设置.由于我已经转换到WPF,我的应用程序依赖于我设置可重用,解耦代码的能力.

我一直在努力提高我在某些设计领域的技能,包括仿制学,设计模式和反思.

我很清楚所有这些是什么,对于泛型和设计模式,我相当擅长应用我认为最佳实践(尽管这已经在空中).

我不太熟悉的是反思.我知道反射是什么,我知道如何做它来完成动态程序集加载,方法和类调用等任务.

我不明白的是这可能如何帮助我的例子.

如果您知道如何使用它,我会不断听到反射如何真正有用.当我尝试研究这个主题时,我只找到教程和如何做的参考,而不是它可以用来做的好处.

我的问题是,作为WPF开发人员,我可以将其视为使用反射,这将有助于我,和/或是否有一个地方或参考,可以给我更多,然后只是使用反射的语法,但也是现实世界的例子和/或最佳做法?

c# reflection wpf

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

刷新WPF中的视图的DataContext?

我正在使用WPF应用程序并使用我自己的体系结构,它非常类似于MV-VM/MVC.我有每个视图的控制器,我有ViewModel绑定到视图.

例如,我有一个ToolBarView,它有一个相应的ToolBarViewModel和ToolBar Controller.

我使用通知来更新所有视图,以便它们不需要互相引用,但这与我的问题无关.

每个视图都在监听模型更新后在其控制器中触发的事件.在ToolBarView中,这看起来如下所示.

/*In Constructor in ToolbarView*/
Controller.Updated += UpdateView

/*Event Handler in ToolbarView*/
private void Updateview(object sender,EventArgs e)
{
    DataContext = Controller.Model;

    //Other Updating if needed

 }
Run Code Online (Sandbox Code Playgroud)

如果不明显,上面的代码正在做的是说当Controller触发Updated事件时,调用UpdateView(对象发送者,EventArgs e).

那我遇到的问题是,第一次的更新视图()被调用时,一切工作正常,但是当它被调用第二次,在DataContext似乎依然被绑定到原来的Controller.Model.

看起来好像我必须释放DataContext,或者刷新它以便每次都绑定到Model.

Controller正在对Model执行操作,因此在调用UpdateView()时,它需要在该模型上显示新分配的值.

有什么方法我需要刷新DataContext,还是有不同的方式我需要这样做?

.net c# wpf

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

如何在jquery each()循环中获取自定义HTML属性

我有以下HTML

 <input type="text" name="first" expression="firstExpression"/>
 <input type="text" name="last" expression="secondExpression"/>
 <input type="text" name="age" expression="thirdExpression"/>
Run Code Online (Sandbox Code Playgroud)

我有一个自定义表达式属性.

我使用jQuery迭代所有输入元素,虽然我稍后需要做一些事情,但我需要能够获取每个输入元素的表达式值,并将其与该输入元素的进行比较.

我可以通过执行以下操作来获取表达式值

    var expressionValue = inputs.attr("expression");
Run Code Online (Sandbox Code Playgroud)

但是只能抓住下面的表达式值,我需要能够做同样的事情,如下面的场景

 function showValues()
 {
    var inputs = $(":input[expression]");
    inputs.each(function(index){ 
    var input = inputs[index];
    //need to be able to get 'expression' from input var here 
    });
 }
Run Code Online (Sandbox Code Playgroud)

上面的代码正确地抓住了我需要的所有元素,但是我无法弄清楚如何获取表达式属性的值

html jquery

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

C#string to Formatted HTML string

是否有一个工具可以将无格式HTML的C#字符串(没有缩进,没有新行等)转换为格式化HTML字符串?

我正处于生成HTML字符串的情况,我将其输出到多行文本框中.现在写,它是包装,但显示类似于一个段落.我希望它显示为格式化的HTML?它甚至不必非常好的格式化,但至少不显示HTML的一段.

我正在使用WPF,以防万一.

提前谢谢

html c# visual-studio

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

设计模式场景 - 我应该使用哪个?

我有一个项目的情况,我目前正在工作,整个周末都让我的思绪焦躁不安.首先,我需要解释我的场景,以及我考虑过的可能的解决方案.

我正在编写一个复合WCF服务,它将聚合大量的外部API.这些API是任意的,它们的存在就是这种解释所需要的.

可以在整个开发期间添加和删除这些服务.我的WCF服务应该能够使用多种方法(REST,SOAP等)来使用服务.对于此示例,我通过在代码中手动创建请求来专注于与外部APIS进行通信.

例如,我们可能有两个API的ServiceXServiceY.

ServiceX被消耗POST荷兰国际集团与请求体中的数据具体为web请求.

ServiceY被消耗POST荷兰国际集团与附加到URL中的数据的Web请求(是的......我知道这应该是一个GET,但我没写外部API,所以不教训我了.)

为了避免冗余的重复代码,我使用命令模式包装了Web请求,并使用工厂来构建请求.

对于ServiceX,需要对数据进行编码并将其放入请求主体,与ServiceY相反,其中数据需要迭代并放在Post字符串上.

我有一个类结构,如下所示:

public abstract class PostCommandFactory
{
      public ICommand CreateCommand();
}

public class UrlPostCommandFactory:PostCommandFactory
{
      public ICommand CreateCommand()
      {
              //Initialize Command Object Here
      }
}

public class BodyPostCommandFactory:PostCommandFactory
{
      public ICommand CreateCommand()
      {
              //Initialize Command Object Here
      }
}


public interface ICommand
{
      string Invoke();
}

public class UrlPostCommand:ICommand
{
      public string Invoke()
      {
         //Make URL Post Request
      }
}

public class BodyPostCommand:ICommand
{
      public …
Run Code Online (Sandbox Code Playgroud)

c# design-patterns

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

带有服务引用的 WCF 客户端未使用自定义端点行为

我有一个问题,我不太确定它是如何开始的。我相当肯定它以前运行良好,但不记得进行任何更改。

首先,请不要过多关注设置,除非它直接影响了它不工作的原因。我不是在寻求批评,而是因为我是导致它不起作用的原因。

我正在公开一个使用 HTTP 标头身份验证的 API。我在我的解决方案中使用这个 API 的操作。为了避免样板代码,我创建了一个ClientFactory来初始化服务,使用CustomClientMessageInspectorCustomCredentialBehavior负责将标头添加到消息中。

这个想法是,当我需要使用服务时,代码看起来类似于:

IClientCredentials credentials = ClientCredentials.FromToken();
var service = ClientFactory.CreateClientInstance<API.Clients.ClientServiceClient>(credentials);
Run Code Online (Sandbox Code Playgroud)

ClientFactory 看起来像下面这样(请不要过度判断)。

public class ClientFactory
{
    public static T CreateClientInstance<T>(IClientCredentials clientCredentials)
    {

        T t = Activator.CreateInstance<T>();
        var factory = t.GetType().GetProperty("ChannelFactory");
        using (var scope = new OperationContextScope((IContextChannel) t.GetType().GetProperty("InnerChannel").GetValue(t,null)))
        {

            var endpointBehavior = new CustomCredentialBehavior(clientCredentials);
            if (((ChannelFactory) factory.GetValue((t),null)).Endpoint.Behaviors.Any(p => p.GetType() == typeof(CustomCredentialBehavior)))
            {
                var behavior =
                    ((ChannelFactory) factory.GetValue((t),null)).Endpoint.Behaviors.FirstOrDefault(
                        p => p.GetType() == typeof (CustomCredentialBehavior));
                ((ChannelFactory) factory.GetValue((t),null)).Endpoint.Behaviors.Remove(behavior);
            }

            ((ChannelFactory)factory.GetValue((t),null)).Endpoint.Behaviors.Add(endpointBehavior);

            return …
Run Code Online (Sandbox Code Playgroud)

c# wcf soap soap-client wcf-endpoint

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

DataGridView数据源未更新

我正在使用Winforms DevExpress,我正在将DataTable绑定到DataGridView,它正常工作.我遇到的问题是我有一些函数将构建一个新的DataTable对象,该对象与原始文件分开,需要替换绑定到DataGridView的原始DataTable.

DataTable originalTable = new DataTable("OriginalTable");

//Populate originalTable 

myDataGridControl.DataSource = originalTable;
Run Code Online (Sandbox Code Playgroud)

使用上面的代码一切正常,但下面的代码创建一个新的DataTable,需要设置为myDataGridControl的DataSource.

DataTable newTable = new DataTable("NewTable");

//Populate newTable

//Set newTable as the DataSource for myDataGridControl
myDataGridControl.DataSource = newTable;
Run Code Online (Sandbox Code Playgroud)

我尝试了几种不同的尝试来调用RefreshDataSource(),Refresh(),将DataSource设置为null.我还没有让它工作.我该怎么做呢?

c# data-binding datatable devexpress winforms

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

在REST API上进行错误处理

我很新,已经部署了一个带有API端点的小型服务.

我听说/读过go不使用try/catch所以我试图弄清楚如何从我的API中"抓住"我的服务调用中发生的任何问题,并确保资源服务器不会出现问题.

我的API代码如下所示..

我有一个routes.go包含以下内容的文件

package main

import (
    "net/http"

    "github.com/gorilla/mux"
)

type Route struct {
    Name        string
    Method      string
    Pattern     string
    HandlerFunc http.HandlerFunc
}

type Routes []Route

func NewRouter() *mux.Router {
    router := mux.NewRouter().StrictSlash(true)
    for _, route := range routes {
        router.
            Methods(route.Method).
            Path(route.Pattern).
            Name(route.Name).
            Handler(route.HandlerFunc)
    }

    return router
}

var routes = Routes{
    Route{
        "CustomerLocationCreate",
        "POST",
        "/tracking/customer",
        CustomerLocationCreate,
    },
}
Run Code Online (Sandbox Code Playgroud)

我有一个 handlers.go

package main

import (
    "encoding/json"
    "net/http"
    "io"
    "io/ioutil"
)

//curl -H "Content-Type: application/json" …
Run Code Online (Sandbox Code Playgroud)

go

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