0

我是 C# 和 .NET 框架的新手。我正在构建一个小型控制台应用程序来“阻止”必应索引中的 URL,因为它们被意外编入索引。我正在使用Bing Webmaster API来执行此操作。

我不明白如何设置 BlockedUrl 对象的两个属性(EntityTypeRequestType)。BlockedUrl 对象在发送阻止请求时传递给AddBlockedUrl 。

设置UrlDateDaysToExpire的属性值是有意义的 - 它们分别被赋予字符串、DateTime 和 DaysToExpire 值,正如它们的签名所示。

通过 EntityType 的签名:

public BlockedUrl.BlockedUrlEntityType EntityType { get; set; }

我不明白 BlockedUrl.BlockedUrlEntityType 或我将如何使用它。RequestType 属性类似。

我当前的代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string url = "https://url/dir/path/";
            var api = new WebmasterApi.WebmasterApiClient();
            var blockedURLObj = new WebmasterApi.BlockedUrl();
            blockedURLObj.Url = url;
            blockedURLObj.Date = new DateTime(2018, 5, 8, 8, 00, 00);
            blockedURLObj.DaysToExpire = 90;
            blockedURLObj.EntityType = "Directory"; //error: "Cannot implicitly convert type 'string' to ConsoleApp1.WebmasterApi.BlockedUrl.BlockedUrlEntityType"
            blockedURLObj.RequestType = "FullRemoval"; //error: "Cannot implicitly convert type 'string' to ConsoleApp1.WebmasterApi.BlockedUrl.BlockedUrlRequestType"

        try
        {
            api.AddBlockedUrl(url, blockedURLObj);
            Console.WriteLine("Success!");
            Console.ReadLine(); 
        }
        catch(Exception e)
        {
            Console.WriteLine(e.ToString());
            Console.ReadLine();
        }
    }
} 
4

3 回答 3

1

BlockedUrl.BlockedUrlEntityType是一个枚举

所以你需要类似的东西

blockedURLObj.EntityType = BlockedUrl.BlockedUrlEntityType.Directory;
blockedURLObj.RequestType = BlockedUrl.BlockedUrlRequestType.FullRemoval;

此处有关枚举的更多信息 https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/enum

于 2018-05-09T00:55:40.850 回答
1

应使用此处规定的枚举值设置 EntityType 属性:https ://msdn.microsoft.com/en-us/library/hh969362.aspx

应使用此处规定的枚举值设置 RequestType 属性:https ://msdn.microsoft.com/en-us/library/hh969383.aspx

例如:

blockedURLObj.EntityType = BlockedUrl.BlockedUrlEntityType.Directory;
blockedURLObj.RequestType = BlockedUrl.BlockedUrlRequestType.FullRemoval;
于 2018-05-09T00:56:36.423 回答
1

所以EntityTypeandRequestType看起来像枚举。你可以通过blockedURLObj.RequestType = WebmasterApi.BlockedUrl.BlockedUrlRequestType.FullRemoval;和设置它blockedURLObj.EntityType = WebmasterApi.BlockedUrl.BlockedUrlEntityType.Directory;

于 2018-05-09T01:00:11.760 回答