




да. Разделите их в своем объявлении точкой с запятой.
Проголосовали против, потому что использование точки с запятой не дает поддержки для нескольких параметров. Если вы этого хотите, вы должны реализовать это самостоятельно.
Согласен с @Richard; это делает нет автоматической поддержкой.
Если вы переопределяете GetVaryByCustomString () в файле Global.asax.cs, вы можете передать список значений, разделенных точкой с запятой, которые затем необходимо проанализировать.
Есть одно встроенное значение (Браузер), которое будет использоваться, если указанный атрибут не существует.
Технически, однако, если кто-то отменяет GetVaryByCustomString, нельзя ли передать список таможенных правил в каком-либо формате, так как в любом случае придется проводить собственный синтаксический анализ? Или это будет иметь значение для вызова base.GetVaryByCustomString внутри переопределенной реализации?
@bzlm base.GetVaryByCustomString не реализует никаких возможностей разделения строк и будет что-то делать только тогда, когда browser передается как значение. Это означает, что вы можете выбрать любой символ в качестве разделителя.
Технически разделитель значения не имеет. Однако Microsoft рекомендует использовать в документации точку с запятой. Кроме того, точка с запятой автоматически поддерживается для VaryByParam, и обычно имеет смысл придерживаться соглашения, если оно определено.
Вы можете использовать несколько параметров, разделяя их точкой с запятой, но вы должны реализовать логику их разделения самостоятельно. Это означает, что вы можете использовать любой символ в качестве разделителя, потому что вам нужно проанализировать его самостоятельно.
Вы, вероятно, переопределяете GetVaryByCustomString(HttpContext context, string custom) в своем global.asax. Параметр custom будет содержать все, что вы передадите с помощью VaryByCustom, например
<%@ OutputCache Duration = "86400" VaryByParam = "none" VaryByCustom = "custom1;custom2" %>
Дополнительное примечание: base.GetVaryByCustomString не реализует никаких возможностей разделения строк и будет что-то делать только тогда, когда browser передается в качестве значения. В противном случае он вернет null.
Чем их разделение точкой с запятой отличается от запятой, точки или любого другого специального символа?