Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从c#服务器应用程序提供JavaScript文件?_Javascript_C#_Asp.net Web Api2 - Fatal编程技术网

如何从c#服务器应用程序提供JavaScript文件?

如何从c#服务器应用程序提供JavaScript文件?,javascript,c#,asp.net-web-api2,Javascript,C#,Asp.net Web Api2,我们有一个服务器应用程序,它使用WebAPI2来公开RESTfulAPI。 为了帮助客户更好地使用我们的API,我们开发了一个包装API调用的js库。我们希望客户端直接从服务器引用js库,而不是将js库分发给客户端 为了方便客户,我希望这一行能够发挥作用: <script src="serverUri/scriptsFolder/clientLibrary.js"> 可能吗?(使用Web API 2,我们希望拥有尽可能少的依赖项)这不是API应该关注的问题。基本上,我会选择另一

我们有一个服务器应用程序,它使用
WebAPI2
来公开RESTfulAPI。 为了帮助客户更好地使用我们的API,我们开发了一个包装API调用的js库。我们希望客户端直接从服务器引用js库,而不是将js库分发给客户端

为了方便客户,我希望这一行能够发挥作用:

<script src="serverUri/scriptsFolder/clientLibrary.js">


可能吗?(使用Web API 2,我们希望拥有尽可能少的依赖项)

这不是API应该关注的问题。基本上,我会选择另一种交付机制

在我看来,你有两个选择:

  • 把它放在CDN上的某个地方,并为您的客户提供指向它的链接——无论如何,您都必须这样做
  • 将其作为npm包或nuget包分发,并让他们以这种方式引用它
  • 您可以从api本身公开它,但这种方法存在许多问题。你基本上是让你的客户选择其他的方法。如果更改文件的版本,可能会很快中断所有客户端。控制您的交付机制使他们可以在方便的时候进行升级


    公平地说,我确实在一个web api2项目中添加了一个脚本文件夹,在其中放了一个js文件,我可以直接访问它,没有任何问题,所以可以这样做,但我仍然认为这不是一个好主意:)

    这不是Api应该关注的问题。基本上,我会选择另一种交付机制

    在我看来,你有两个选择:

  • 把它放在CDN上的某个地方,并为您的客户提供指向它的链接——无论如何,您都必须这样做
  • 将其作为npm包或nuget包分发,并让他们以这种方式引用它
  • 您可以从api本身公开它,但这种方法存在许多问题。你基本上是让你的客户选择其他的方法。如果更改文件的版本,可能会很快中断所有客户端。控制您的交付机制使他们可以在方便的时候进行升级


    公平地说,我确实在一个web api2项目中添加了一个脚本文件夹,在其中放了一个js文件,我可以直接访问它,没有任何问题,所以可以完成,但我仍然认为这不是一个好主意:)

    谢谢Andrei。但是,当您创建一个新的ASP MVC项目时,它会创建一个包含一些默认js库的脚本文件夹。然后,当您添加一个HTML页面时,您可以使用引用这些库,这是一种糟糕的做法吗?如果不是,为什么我不能使用WebAPI2实现相同的行为?以不同的方式创建项目。。。。清空并勾选WebApi2,那么它只提供api本身所需的内容,而不提供任何MVC文件夹。至于最佳实践,正如我所说,我不会像我在主要回复中解释的那样将js文件放在那里。你做你必须做的:)谢谢安德烈。但是,当您创建一个新的ASP MVC项目时,它会创建一个包含一些默认js库的脚本文件夹。然后,当您添加一个HTML页面时,您可以使用引用这些库,这是一种糟糕的做法吗?如果不是,为什么我不能使用WebAPI2实现相同的行为?以不同的方式创建项目。。。。清空并勾选WebApi2,那么它只提供api本身所需的内容,而不提供任何MVC文件夹。至于最佳实践,正如我所说,我不会像我在主要回复中解释的那样将js文件放在那里。但你必须做的是:)根据你的问题,CDN是@Andreias回答的首选解决方案根据你的问题,CDN是@Andrei回答的首选解决方案