标题解释了要求。 是否可以在单个项目中公开多个端点?
类似的东西:
因为我需要将功能划分为多个组件。 任何人都可以帮助我吗?
更新
目前,我正在使用以下代码创建和展示Odata服务。
public void Configuration(IAppBuilder app)
{
HttpConfiguration config = new HttpConfiguration();
ConfigureRoute(config);
ConfigureGlobalFilters(config);
HttpServer server = new HttpServer();
ODataBatchHandler batchHandler = new DefaultODataBatchHandler(server);
config.MapODataServiceRoute("Odata", "Odata", GenerateEdmModel(), batchHandler);
...
config.EnsureInitialized();
}
private IEdmModel GenerateEdmModel()
{
ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
builder.Namespace = "ServiceA";
builder.ContainerName = "DefaultContainer";
builder.EntitySet<Permission>("ApplicationPermissions");
return builder.GetEdmModel();
}
我想为每个组件公开单独的服务(在不同的名称空间下?)。
答案 0 :(得分:2)
以下一行应该是你关心的那一行:
config.MapODataServiceRoute("Odata", "Odata", GenerateEdmModel(), batchHandler);
第二个字符串参数是routePrefix
,这意味着您当前可能正在点击http://yourhost.com/Odata/ $元数据。如果您只是使用不同的前缀值(例如Odata2
)创建另一个映射,则可以对http://yourhost.com/Odata/ $元数据和http://yourhost.com/Odata2/ $元数据进行调用。你可能也希望给它们一个唯一的routeName(第一个字符串参数),你可能也想提供一个不同的模型,所以这两个服务实际上会有所不同:)。