问答

WCF一个服务或多个服务

 来源    2019-01-02    1  

我是设置WCF的新手,我将它放在我的项目中,但我在我的一个WCF项目中有5个不同的“服务”,我想知道我是否正在做正确的事情.我现在的服务是1-1到我的数据库表.我最终得到了类似的东西:

public class Projects : IProjects
{
    public List<Project> GetAll()
    {
        return (from p in Connection.Data.Projects
                select new Project {ID = p.id, Name = p.name}).ToList();
    }

    public Project GetByID(int id)
    {
        return (from p in Connection.Data.Projects
                where p.id == id
                select new Project {ID = p.id, Name = p.name}).First();
    }

    public Project AddProject(string name)
    {
        var project = new Data.Projects {name = name};
        Connection.Data.AddToProjects(project);
        Connection.Data.SaveChanges();

        return new Project {ID = project.id, Name = project.name};
    }

    public void DeleteProject(int id)
    {
        var project = (from p in Connection.Data.Projects
                       where p.id == id
                       select new Project {ID = p.id, Name = p.name}).First();

        Connection.Data.DeleteObject(project);
        Connection.Data.SaveChanges();
    }
}

我的项目中的每个表都有一个类似的类.我是否应该找到一种方法来使用与子类的1个服务连接或将其保持为每个表1个服务类?

“这取决于!” :-)所有IT和编程问题的标准答案:-)

我没有看到拥有这5项独立服务有什么不妥 – 你们并没有真正获得任何东西,将它们合并为一项大型服务,我会说.我宁愿将它们分开并“精益求精”.

如果您有五个单独的服务,您还可以分别管理每个服务的访问权限,例如:让某些用​​户组使用一种服务,而不是另一种服务.

再说一遍:我认为你做得很好 – 我没有看到任何令人信服的理由或从拥有一个巨大的服务而不是五个更小,更灵活的服务中受益.

想一想 – 我可能建议的唯一真正的改变是尝试设计你的服务,使它们与你的应用程序想要做的事情(即你期望你的应用程序以及你的服务处理的操作)更紧密地匹配,而不是而不是将它们建模得与数据库过于接近.尝试思考“面向任务”或操作方面,而不是他们将存储数据的底层商店.

相关文章
c# – 在.NET中开发一个新的RESTful Web服务 – 我应该从哪里开始? ASP.NET-MVC,WCF?
问答目标是构建一个服务,然后我将通过jQuery和基于标准的Web前端,移动设备"胖客户端"以及很可能是WPF桌面应用程序来使用. 看起来WCF会是一个不错的选择,但我从来没有用WCF ...
1
1 WCF 一个基础理论 以及如何实现一个简单wcf服务
日志1 SOA : service oriented architecture 面向服务的架构 2 web service标准 3 概念理解图 4 WCF类库 项目的 wcf简单实现  首先创建一个简单的 ...
1
c# – WCF:无法添加服务.可能无法访问服务元数据.确保您的服务正在运行并公开元数据
问答我创建了一个简单的WCF应用程序.该平台设置为Any CPU.我可以成功构建和运行应用程序.但是当我将平台更改为x64时,我收到以下错误: Failed to add a service. Servi ...
1
c# – WCF测试客户端:无法添加服务.可能无法访问服务元数据.确保您的服务正在运行并公开元数据
问答我目前正在尝试使用同步框架示例:sample 该解决方案可以编译出任何错误或警告. 但是当我点击F5时,WCF测试客户端启动并抛出以下错误. Local\Temp\Test Client Projec ...
2
javascript – 如果一个模块可以访问另一个模块的值和服务,那么声明角度模块依赖关系是什么意思
问答请参阅this plunker code(通知console.log消息),以了解我想要/问的内容. 我已经定义了3个模块,即myApp,myApp.view1,myApp.view2.只有myApp ...
1
最好的方法创建一个简单的python web服务
问答我已经使用python多年了,但我没有python web编程的经验.我想创建一个非常简单的Web服务,暴露一些现有的python脚本的功能,在我公司内使用.它可能会返回csv中的结果.什么是最快的方 ...
1
c# – WCF DataServices(CTP2):客户端和服务之间存在类型不匹配
问答我正在使用WCF Dataservices CTP2和Entity Framework 4.1.现在,我试图通过我的datacontext获取任何数据,我得到了这个异常: System.Reflect ...
2
c# – WCF服务托管在Windows服务运行比控制台应用程序慢10倍
问答我有一个C#库做一些文件处理.我创建了一个控制台和桌面应用程序,使用该库并在大约1分钟内处理256mb文件.然后,我创建了一个在Windows服务中托管的WCF服务,该服务使用相同的文件处理库,但是从 ...
4
如何创建一个用户提供的redis服务,弹出自动配置云连接器选择?
问答我已经为redis创建了一个用户提供的服务,如下所示 cf cups p-redis -p "{\"host\":\"xx.xx.xxx.xxx\", ...
2
javascript – 在Angular 2中的另一个服务中注入自定义服务
问答我想将服务注入另一个服务.我注入标准角度服务(Http等)没有任何问题,但是当我尝试注入自己的服务时,我得到了一个例外. 例: 为MyService: import {Injectable, Inje ...
1
angularjs – 从另一个模块获取一个对象(控制器,服务或指令的功能)
问答是否可以访问位于同一模块或不同模块中的功能? 就像是: var fooDir = angular.module("directives").get("foo") ...
3
.net – WCF错误:调用者未通过服务验证
问答我试图从我的客户端控制台应用程序访问我的服务器上的WCF服务进行测试.我得到以下错误: The caller was not authenticated by the service 我使用wsHtt ...
2
WCF SOA:CRUD数据访问服务……为什么这么麻烦(或者我们的设计是错误的)?
问答我们的SOA WCF系统中有一个数据访问服务.此服务负责在"系统范围"数据库表上执行CRUD(创建,更新,删除)操作,并且也是查询数据的来源.想要访问DAS控制下的表的系统中的任何 ...
3
user-interface – 有一个GUI来管理OSGi服务? (在Eclipse或其他项目中)
问答我正在使用一个应用程序,它使用和管理每个服务的大量OSGi服务和实现,具有属性,动态等等.使用Equinox控制台的命令行非常有用,可以使用service或list -c等命令.但是,很难看到服务的特 ...
2
使用REST WCF数据服务作为SQL Reporting服务的数据源
问答任何人都可以指向我使用WCF数据服务(ADO.NET数据服务,Astoria)作为数据源的最终Microsoft地图吗? 那里有零散的信息.有一些关于创建自定义数据提供程序,一些关于某种扩展启用连接到 ...
1
哪个会更好地为一个崭露头角的程序员服务:一个经典的计划书或像python这样的现代语言?
问答我真的很想成为一个认真的程序员,人们钦佩黑客的类型,而不是一个甚至无法完成FizzBu​​zz的企业无人机. 目前我已经掌握了几种语言,我的大多数经验都是在Perl和Shell中,而且我在Ruby中略 ...
1
wcf – 内容类型application/soap xml;服务不支持charset = utf-8
问答嗨 我试图添加WCF服务WCFTestClient时收到错误以下错误.我经过网上的解决方案的数量,但不能得到它的工作 有人可以帮助我的问题吗? 我也prviding我的配置文件的服务 Content ...
1
c# – 将WCF REST服务托管为Windows服务
问答我想创建REST WCF服务并将其安装为Windows服务. 我已经创建了REST WCF服务,我运行它,它对xml amd json都运行良好. 以下是代码文件. IRestWCFServiceLi ...
1
linux – 设置只有一个ip可以访问ftp服务
问答如何在hosts.allow中只允许一个ip使用ftpd服务? 并使用hosts.deny中的ftpd服务器拒绝所有ip?或者还有另一种方法允许只有一个IP可以访问proftpd 我正在使用proft ...
1