小编Bre*_*gby的帖子

ASP .Net MVC - 图像未在已发布的版本中显示

我正在开发一个ASP .Net MVC应用程序,在我的开发机器上,应用程序按预期运行,更重要的是,CSS文件中提到的图像也正确显示.

但是,当我将此应用程序发布到测试服务器时,Web应用程序运行正常,但图像未显示.

如果我在测试测试服务器的输出时修改了IE中的URL,则返回图像,这意味着该文件存在但在正常使用站点时它不会出现在视图页面中.

我也尝试过替代服务器,但结果是一样的.

要确认,这里是引用图像的CSS页面中的一行...

background-image: url('/Content/Images/Logo/myLogo.jpg');
Run Code Online (Sandbox Code Playgroud)

有什么建议?

干杯

布雷特

asp.net-mvc image

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

.Net控制台应用程序调用一个Web API,再调用另一个Web API

我很难理解如何重用用户的安全令牌,以在他们的数据请求流经多个Web API时对其进行身份验证。

  • Console App -C#/ Net Framework 4.7.x控制台应用程序。
  • WebAPI 1 -C#/ .Net Core 2.2 MVC WebAPI应用程序。
  • WebAPI 2 -C#/ .Net Core 2.2 MVC WebAPI应用程序。

当前,它们都在自己的Visual Studio 2019解决方案中配置为独立的应用程序,这些解决方案在我的开发箱上运行,但是(一旦运行!)将各自作为独立的实体托管在Azure中。

本质上,用户在控制台应用程序中进行身份验证,从而从Azure Active Directory验证其凭据。在GitHub上的此示例之后,我已经WebAPI 1成功完成了我的Console App的调用,并返回了数据。

但是,我想WebAPI 1在通话WebAPI 2期间进行调用,并检索其他数据作为Console App数据集的一部分,而这正是我所坚持的部分。

WebAPI 2在Azure门户中的配置与完全相同WebAPI 1,但不同的应用程序客户端ID等除外。

作为样本的一部分(如上所述),WebAPI 1在将数据返回给调用之前,我可以取消Microsoft的Graph API Console App,所以我认为我没有办法。这是调用Graph API的代码:

    public async Task<string> CallGraphApiOnBehalfOfUser()
    {
        string[] scopes = { "user.read" };

        // we use MSAL.NET to get a token to call …
Run Code Online (Sandbox Code Playgroud)

c# azure azure-active-directory asp.net-core

6
推荐指数
1
解决办法
1579
查看次数

.Net Core 3.1 合并 JWT 和 OpenIDConnect 身份验证

简短版本:我在我的 .NET Core MVC 网站中合并正确的身份验证配置以允许我的用户针对 Azure Active Directory 进行身份验证时遇到问题,但也允许守护程序连接(来自控制台应用程序)。

长版: 我有一个 .NET Core MVC 网站,当在 Startup.cs 的 ConfigureServices 方法中使用以下内容时,它可以完美地对 Azure Active Directory 进行身份验证:

 services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
    .AddSignIn("AzureAd", Configuration, options => Configuration.Bind("AzureAd", options));
Run Code Online (Sandbox Code Playgroud)

我还试图让我的 .NET Core 控制台应用程序将 API(作为守护程序连接)调用到上述 MVC 网站(所有这些都在我的 Microsoft Azure 帐户的应用程序注册部分中配置)。我可以将控制台应用程序连接到 MVC 网站,它会在控制器中成功命中一个操作结果,但前提是我在网站的 Startup.cs 的 ConfigureServices 方法中使用以下内容:

services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
   .AddProtectedWebApi("AzureAd", Configuration, options => Configuration.Bind("AzureAD", options));
Run Code Online (Sandbox Code Playgroud)

这是架构图...

基本上,如果我只使用 OpenIdConnect 选项,我的网络用户可以访问该网站,但我的控制台应用程序被拒绝。如果我只使用 JwtBearer 选项,那么我的控制台应用程序可以连接,但我的网络用户被拒绝。

我一整天都在使用 Google-Bing,我正在努力让这两种配置的混搭能够正常工作,而不会将另一种淘汰。

我曾尝试使用 .AddJwtBearer() 方法,但我完全被它弄糊涂了:

services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
   .AddSignIn("AzureAd", Configuration, options => Configuration.Bind("AzureAd", options))
   .AddJwtBearer(options => Configuration.Bind("AzureAD", options));
Run Code Online (Sandbox Code Playgroud)

这些是如何协同工作的,这样两者都可以就位,我的 Web 应用程序可以通过浏览器运行,并且控制台应用程序(守护程序)也可以运行?我可以将两者都绑定到我的 …

c# authentication jwt openid-connect .net-core

6
推荐指数
2
解决办法
2984
查看次数

如何配置IIS7以使用MVC 2.0 Framework 4.0应用程序

我有一个MVC 2.0应用程序,我在VS2010中使用它是一个.Net Framework 4.0应用程序,它在我的本地开发机器上运行良好,但在IIS介入时失败,给我各种IIS错误.

有人可以告诉我为了在IIS 7.0中运行应用程序(在Windows 2008 Server上运行),我需要执行的步骤顺序吗?我能得到的最好的是它向我展示了我网站根目录的内容.:O(

我已经跟踪各种SO链接到各种帖子说要停止403.14 Forbidden错误消息,你只需在IIS中为我的特定应用程序启用目录浏览而且它已经消失了,但打开它只是显示根级结构而不是实际运行我的网站.

为了确认,2008 Server安装了.Net Framework 4.0,并且我已经在Visual Studio 2010中将3x MVC 2.0 dll设置为Copy Local = true,因此bin文件夹中存在必要的MVC .dll.我在该机器上运行了一个MVC 1.0应用程序(使用VS2008制作)但似乎无法使这个2.0应用程序正常工作

asp.net-mvc iis-7 visual-studio-2010

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

将Linq保存为Xml文件,而不是C#(Ivy)中的UTF-8

在C#中,我需要创建与Ivy和NAnt一起使用的XML文件,但是在输出文件中难以获得正确的编码.

如果我使用的XElement的.Save("C:\ foo.xml"),我得到正确的文件,但Ivy和/或恶性得到不高兴,因为文件是用实际保存UTF-8,但我真的需要保存作为ANSI,以便能够使用它.

我目前有一个bodge,它使用.ToString()来获取文本,然后使用StreamWriter将其写入文件.

理想情况下,我想在.Save()期间设置格式,但无法找到有关此内容的任何信息.

谢谢.

nant ansi utf-8 linq-to-xml ivy

4
推荐指数
1
解决办法
4403
查看次数

从 Controller .Net Core 2.1 调用 Signalr 方法

我正在尝试从 (ASP.NET Core) MVC 控制器调用信号集线器类中的方法,但我无法在网上找到演示如何操作的示例。

注意:有很多示例在 .Net 框架中使用旧版本的信号器,但我看不到任何示例都显示了如何在 .Net Core 中执行此操作。

我需要将 MVC 操作结果中的 id 直接传递到我的集线器,而不是将 id 传递到页面,然后必须将客户端连接返回到集线器。

public class ChatHub : Hub
{ 
    public async Task DoSomething(int id)
    {            
        //// Something in here.
    }
}



public class HomeController : Controller
{
    private readonly IHubContext<ChatHub> _hubContext;

    public HomeController(IHubContext<ChatHub> hubContext)
    {
        _hubContext = hubContext;
    }

    public async Task<ActionResult> Index(int id) 
    {

         //// Call the DoSomething method from here, passing the id across.
         await _hubContext.Clients.All.SendAsync("AddToGroup", groupId);
    }
}
Run Code Online (Sandbox Code Playgroud)

请问有没有办法做到这一点?(或者我是否以错误的方式看待这个问题,是否有更好的方法来实现相同的结果?)

更新:如果我将 Id …

c# signalr signalr-hub asp.net-core-mvc asp.net-core-signalr

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

使用 NAnt 和 Ivy 构建 VB6 项目

我正在使用 Subversion、CruiseControl、NAnt 和 Ivy 为 .Net 和 VB6 应用程序开发持续集成系统。

.Net 方面的问题不是太大,但我需要一些有关 VB6 方面的指导,更多来自“DLL 地狱”方面的指导!

我当前的设置是为我的 VB6 系统获取所有依赖文件,正如预期的那样,并在 ok 内构建各种项目。但是...它使用的是已经在我的 PC 上注册的 DLL,而不是我的 Lib 文件夹中的那些,这是我从 Ivy 解析我的依赖项的地方。

我可以通过在 Ivy 解决它们后注册下载的 DLL 来解决这个问题,这意味着项目文件可以指向本地 Lib 文件夹;但我希望我的 NAnt 脚本自动执行此操作,然后在构建过程完成后自动取消注册它们,以便下一个项目可以依次执行相同的操作。

我想我需要帮助的是让 Ivy 给我一份项目依赖项列表的能力......

例如,如果我正在构建依赖于项目 A、B 和 C 的项目 X,那么如果我可以向 Ivy 发出一个命令来返回诸如 A、B、C 之类的列表,那么我可以将它们传递给另一个目标依次注册/注销它们的过程...

这有意义吗?这可能吗,我是否以正确的方式看待这个问题?或者,还有更好的方法?

我很抱歉,我已经在房子周围解释了这一点......!

svn vb6 nant continuous-integration ivy

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

让NAnt检查SVN中的已更改文件

为了加速我的NAnt/CruiseControl.Net/Ivy连续构建过程,我希望让NAnt在执行基于NAnt的更新后检查我的代码库是否在我的本地PC上发生了变化,然后如果代码已经改变,然后启动流程重新构建该项目,并可能提出一个标志来构建所有后续组件,而不管它们的更改状态如何.

原因是,我的构建过程目前花费了超过12分钟来完成大量工作,我想我可以通过不构建不会改变的代码以及保持开发人员来减少这段时间在办公室也更开心.

我们已经调查过从构建顺序中删除一些项目,但是如果构建树顺序进一步发生任何更改,它们都是必需的.

svn cruisecontrol.net nant build-automation

0
推荐指数
1
解决办法
2063
查看次数

使用自定义凭据提供程序时,在登录屏幕上出现多个切片

我使用了Microsoft的Credential Provider示例来组合默认Windows 7登录屏幕的包装器.

就新的CP而言,所有内容似乎都运行良好,但我的登录屏幕上出现了重复的图块,即默认的Windows图块和我的"包装"图块.

如何删除默认的Windows磁贴,因为这不包含我的更改?

winlogon visual-c++ windows-7 credential-providers

0
推荐指数
1
解决办法
2774
查看次数