Я пишу HTML-помощник, который будет делать некоторые расчеты для меня. Теперь, потому что это помощник, это статический метод. Например:
public class MyHelper
{
public static HtmlString DoSomething()
{
//do some action and return;
}
}
Проблема, с которой я сталкиваюсь, заключается в том, что я вызываю это из файла cshtml, мне нужно каким-то образом вычислить версию файла внутри этого метода. Обычно я могу вызвать это в html с помощью <asp-apend-verion="true">
, но, поскольку я возвращаю строку здесь, она не работает, если я просто набираю ее.
На основании проведенного исследования я обнаружил, чтоможно сделать то же самое с IFileVersionProvider.AddFileVersionToPath
, однако я не могу понять, как его ввести, чтобы использовать его в этом методе.
Редактировать:
Я думаю, что мне может понадобитьсяобеспечить более четкое представление о картине. По сути, я пытаюсь сделать так, чтобы при отладке кода мои файлы javascript давали мне полные версии файла, а в процессе производства - уменьшенные версии. Таким образом, у меня есть измененная версия вспомогательного класса, которую я нашел в Интернете https://gist.github.com/mohamedmansour/cd50123f8575daba7a7f12847b12da5d, чтобы сделать это для меня. Мой код немного отличается, так как я хочу некоторые другие вещи. Одна из тех вещей, я хочу добавить версию файла. Поэтому я по сути называю это из файла HTML. Если я просто добавлю <asp-append-verion="true">
, то это не сработает, так как это анализируется как строка. Поэтому мне нужно добавить версию, прежде чем я верну эту строку. Я обнаружил, что могу сделать это через IFileVersionProvider, но мне нужна реализация этого метода для его использования. Это мое единственное узкое место.
Редактировать 2:
Мое текущее решение - создать статическое свойство в классе запуска и затем внедрить его в метод Configure. Тогда я могу позвонить откуда угодно. Хотите знать, есть ли лучшее решение?