Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否有人在DNN 9.9版中实现了DotNetNuke.Abstractions.Portals.IPortalAliasInfo.HttpAlias?_C#_Dotnetnuke - Fatal编程技术网

C# 是否有人在DNN 9.9版中实现了DotNetNuke.Abstractions.Portals.IPortalAliasInfo.HttpAlias?

C# 是否有人在DNN 9.9版中实现了DotNetNuke.Abstractions.Portals.IPortalAliasInfo.HttpAlias?,c#,dotnetnuke,C#,Dotnetnuke,我最近将DNN版本从7.3.4升级到9.9。编译解决方案时,我收到以下警告: [过时(“9.7.2中已弃用。计划在v11.0.0中删除,请改用DotNetNuke.Abstractions.Portals.IPortalAliasInfo.HttpAlias。”)] 我试图实现iPortalaLaiaInfo,但没有成功。我查看了DNN的启动文件,看到了以下服务: public void ConfigureServices(IServiceCollection services) { s

我最近将DNN版本从7.3.4升级到9.9。编译解决方案时,我收到以下警告:

[过时(“9.7.2中已弃用。计划在v11.0.0中删除,请改用DotNetNuke.Abstractions.Portals.IPortalAliasInfo.HttpAlias。”)]

我试图实现iPortalaLaiaInfo,但没有成功。我查看了DNN的启动文件,看到了以下服务:

public void ConfigureServices(IServiceCollection services)
{
    services.AddSingleton<WebFormsModuleControlFactory>();
    services.AddSingleton<Html5ModuleControlFactory>();
    services.AddSingleton<ReflectedModuleControlFactory>();
    services.AddSingleton<IDnnContext, DotNetNukeContext>();
    services.AddScoped<IEventLogger, EventLogController>();
    services.AddScoped<IEventLogConfigService, EventLogController>();
    services.AddScoped<IEventLogService, EventLogController>();
    services.AddTransient((IServiceProvider x) => ServiceLocator<IPortalController, PortalController>.Instance);
    services.AddScoped<IHostSettingsService, HostController>();
    services.AddScoped<INavigationManager, NavigationManager>();
    services.AddScoped<ISerializationManager, SerializationManager>();
    services.AddScoped<IApplicationInfo, DotNetNuke.Application.Application>();
    services.AddScoped<IApplicationStatusInfo, ApplicationStatusInfo>();
    services.AddScoped<IPortalAliasService, PortalAliasController>();
}
public void配置服务(IServiceCollection服务)
{
services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
services.addScope();
services.addScope();
services.addScope();
AddTransient((IServiceProvider x)=>ServiceLocator.Instance);
services.addScope();
services.addScope();
services.addScope();
services.addScope();
services.addScope();
services.addScope();
}
我没有看到对接口IPortalAliasInfo的引用

有人知道如何访问DotNetNuke.Abstractions.Portals.IPortalAliasInfo.HttpAlias吗?如果是的话,请您举个例子好吗


谢谢。

您可以通过IPortalAliasService.GetPortalAlias访问IPortalAliasInfo

我不知道您的确切上下文,但让我们假设一个WebApi端点,它看起来像这样:

使用DotNetNuke.Abstractions.Portals;
使用DotNetNuke.Web.Api;
使用制度;
使用System.Linq;
使用System.Web.Http;
名称空间My.namespace
{
公共类MyController:dnapicontroller
{
专用只读IPortalAliasService portalAliasService;
公共MyController(IPortalAliasService portalAliasService)
{
this.portalAliasService=portalAliasService;
}
[HttpGet]
[异名]
公共IHTTpacationResult GetPrimaryPortalAlias()
{
尝试
{
var primaryPortalAlias=this.portalAliasService.GetPortalAliasesByPortalId(this.PortalSettings.PortalId)
.第一(p=>p.IsPrimary);
返回此.Ok(primaryPortalAlias.HttpAlias);
}
捕获(例外)
{
var message=“出了问题”;
返回此.InternalServerError(新异常(消息));
投掷;
}
}
}
}

如果这不是您的上下文,您只需调整如何执行依赖项注入部分,但其余部分是相同的原则…

谢谢您的回复。在我发布这篇文章几天后,我意识到要使用PortalAliasService来实现这一点。我实现了一个与上面类似的解决方案。谢谢