【发布时间】:2015-10-05 22:14:03
【问题描述】:
我在 WCF 代理类上遇到了一些问题(不确定是代理还是服务类),这里是上下文:
我有一个在 Web 应用程序上使用的 WCF 服务,该服务调用另一个服务,然后处理响应以将其带回 Web 应用程序。这是该方法的构造
public CreateProjectResponse CreateNewProject(List<CreateProjectRequestProject> projects)
{
ServiceHelper helper = new ServiceHelper();
CreateProjectResponse response = helper.CreateNewProject(projects);
return response;
}
响应对象分配一切正常。我有正确的“CreateProjectResponseProject”对象列表。问题是,在返回语句之后,我看到服务类正在创建一组新的“CreateProjectResponseProject”对象,就好像它再次调用构造函数并分配默认值(在这种情况下为 null)。
有人知道会发生什么吗?我一直在研究,似乎没有找到任何相关的解决方案。顺便说一句......这个过程之前工作过,解决方案没有任何改变。希望有人可以提供帮助。谢谢!
编辑:这是帮助类的代码:
public class ServiceHelper
{
public CreateProjectResponse CreateNewProject(List<CreateProjectRequestProject> projects)
{
CreateProjectRequest request = new CreateProjectRequest();
CreateProjectResponse response = new CreateProjectResponse();
ProjectCreator create = new ProjectCreator();
WebServiceConfig configs = new WebServiceConfig();
request.Projects = projects;
configs.Password = "XXXXXXX";
configs.Username = "USER";
configs.RemoteAddress = "https://server/listener/connector";
configs.EndpoingConfig = "CreateProjectEndpoint";
try
{
response = create.CreateProject(configs, request);
}
catch (Exception ex)
{
string messageError = "unable to create project:" + ex.Message.ToString();
}
return response;
}
}
【问题讨论】:
-
“这个过程以前可以工作,解决方案没有任何改变” - 嗯,如果它现在不工作而且以前是这样,那么 something 在某个地方发生了变化。但是,这里没有足够的信息来给你很好的帮助——至少把
ServiceHelper的代码贴出来让我们看看是怎么回事,否则这只是一个猜谜游戏。 -
嗨!我没有为那个助手添加代码,因为到那时为止响应都可以正常工作......当我点击 return 语句时,该方法调用了一个 NEW 实例,这很奇怪,因为我已经在“响应”对象。无论哪种方式,我都会使用请求的代码编辑问题。
-
原来代理类是制造意想不到的东西的那个......我直接使用网站解决方案中的帮助类,结果是应该的,这不是真正的为我回答,但这个过程在没有中间体的情况下运行良好。谢谢!