小编Pau*_*son的帖子

MVC中的GoogleWebAuthorizationBroker适用于Google Drive Access

我一直试图从MVC应用程序访问特定的Google云端硬盘帐户.我只需要MVC网络应用程序访问我的谷歌驱动器扫描几个文件,并根据谷歌驱动器的内容更改数据库.问题是当在IIS中运行时,无法对驱动器进行身份验证,因为GoogleWebAuthorizationBroker尝试打开浏览器,如果它是一个Windows应用程序,但似乎无法通过IIS执行此操作,即使它确实是服务器端.

理想情况下,我根本不需要对这个应用程序进行身份验证,但是如果它已经完成了,那么我如何让它在IIS中运行?

UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
    new ClientSecrets
            {
                ClientId = "MY_ID",
                ClientSecret = "My_Secret"
            },
            new[] { DriveService.Scope.Drive },
            "user",
            CancellationToken.None, dataStore: new FileDataStore(Server.MapPath("~/app_data/googledata"))).Result;
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc google-drive-api google-oauth google-api-dotnet-client

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

从MVC程序集中的资源捆绑脚本和CSS

我一直在使用MVC中的Bundles将所有脚本和CSS打包在一起,这很棒但是......有没有办法在Bundle的共享项目库中包含资源中的脚本或css,或者有人知道类似于捆绑可以做到这一点?

asp.net-mvc resources bundle

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

防止在C#中创建具有静态实例的类

有没有办法防止在C#中创建具有静态实例的类.我不认为有,但它可能有用.例如,只是一些属性来防止它.

这样的事情

[NoStaticInstances]
public class MyClass {
}
Run Code Online (Sandbox Code Playgroud)

以便

public static MyClass _myClass;
Run Code Online (Sandbox Code Playgroud)

会导致错误吗?

c# static class

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

MOQ将动态类型作为对象问题返回

如果有人提出这个问题但我无法在任何地方找到答案.

我的问题是在使用MOQ模拟返回方法时,该方法返回动态类型.我正在使用第三部分库,它使用动态时间.MOQ似乎将动态类型转换为对象.

Mock<IFacebookHelper> mockFbHelp = new Mock<IFacebookHelper>();
mockFbHelp.Setup(x => x.Get("me")).Returns(new { email = "test@test.com", id="9999" });
Run Code Online (Sandbox Code Playgroud)

模拟帮助器中的方法.

public dynamic Get(string p)
{
    var client = new FacebookClient(AccessToken);
    return client.Get("me");
}
Run Code Online (Sandbox Code Playgroud)

来自控制器的代码使用模拟结果.

_facebookHelper.AccessToken = accessToken;
dynamic result = _facebookHelper.Get("me");
int facebookId = int.Parse(result.id);  //This errors as id doesn't exist.
Run Code Online (Sandbox Code Playgroud)

基本上,MOQ返回了一个动态类型的对象,需要将其作为某种东西进行渲染.

有谁知道如何解决这个问题?我假设它可能是因为MOQ没有在.NET 4中编码因此不支持动态类型?

编辑

实际上我不认为这是一个MOQ问题,因为我创建了自己的模拟类,但仍然遇到了同样的问题.我是动态类型的新手,但不知道发生了什么.

编辑2 - 部分回答..问题毕竟与MOQ无关

实际上问题似乎是由于在不同的程序集中创建了动态类型.虽然我使用JObject类型解决了我最初的问题,但我还是想弄明白这一点.

namespace MyLib.Tools
{
    public interface IDynTest
    {
        dynamic GetData();
    }
}
Run Code Online (Sandbox Code Playgroud)
namespace MyLib.Tools
{
    public class DynTest : Effect.Tools.IDynTest
    {
        public dynamic GetData() …
Run Code Online (Sandbox Code Playgroud)

c# return moq mocking dynamic-typing

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